Making the Jump to Rails

Back in the early days of CG Cookie, 2009, we were little more than a 3D and VFX blog, posting miscellaneous interviews, articles, and tutorials. Things stayed this way for a while, but gradually people began to take notice and our traffic grew. Soon we discovered that our tutorials were being exceptionally well received and accounted for the vast majority of our web traffic. With this understanding we began putting more emphasis on the training side of things, which brought with it a need for more connected content, such as tutorials in a series (rather than one-off blog posts). To do this we relied on any number of 3rd party WordPress plugins, which is the software that has powered CG Cookie from day one.

Growing up with WordPress

Out of the gate WordPress gave us the ability to publish our training but as CG Cookie grew our needs also grew. Over the next few years existing plugins didn’t cut it anymore, so we began doing more custom WordPress work, contracting my brother and then hiring Nick Haskins as a full-time web developer to extend certain plugin features and build custom functionality for us. Little known fact, Easy Digital Downloads actually arose out of our needs and frustrations for a simple ecommerce solution that was focused on digital downloads, which simply didn’t exist. Using WordPress we were able to build a functioning site, create the tutorial series, and even launch an exclusive membership to the site long before subscription and payment services like Recurly or Stripe were widely-available. By leveraging the quickly growing plugin ecosystem, WordPress enabled us to do far more than we ever could have done on our own. But that’s begun to change. Up until now WordPress has served us very well. I’m confident in saying WordPress has been instrumental in our success to this point. It gave us the means to reach an audience and the tools to manage the content. However, with the launch of CG Cookie Five we’ve put a stronger emphasis on the learning experience, versus just the content, including active lesson tracking, exercise submissions, curriculum progression, etc. A content management system with a custom skin is no longer sufficient for what we want to do: enable independent artists to succeed by building a sustainable business that’s run remotely, allowing anyone, anywhere, to learn the tools of the trade.

Scaling up with growing pains

Like many projects, the first steps of starting CG Cookie as an online business were easy. From the initial idea, purchasing a domain, to putting something online. Getting online was easy, staying online is more difficult. Running a website business is hard. You have to grow your presence, attract an audience, and sustain it, all while making sure the content you’re offering is good; to say nothing of the technical challenges that come with maintaining a large website. Additionally, depending on what you’re doing it can be even harder if you don’t know how to code or don’t have a web developer on staff, which was our scenario in the beginning. This is where WordPress came in for us. Over the years our infrastructure has gotten a bit shaky. We have outgrown what WordPress is typically designed to do without extensive customization and fine-tuning. Without going into much detail, the main issues revolve around legacy architectural designs that don’t function well with a user database that’s approaching 350,000. These issues have become particularly prevalent in the last few months, which you’ve likely noticed through the many instances of CG Cookie crashing and going offline.

Moving beyond WordPress

It’s for these reasons, the focus on your whole learning experience and improving the reliability, we’ve made the decision to move our entire infrastructure over to a more modern and flexible web framework, Ruby on Rails. This includes CG Cookie and the Blender Market. The move to Rails is going to take anywhere from 6-12 months and is already underway. We are doing it in stages, starting with a small, as-of-yet unannounced project, then the Blender Market, and finally the main CG Cookie site. During this project we will be revisiting every aspect of CG Cookie and taking the opportunity to re-evaluate, re-design, and improve each piece. Exercises in particular need some extra love to smooth out the rough edges. Additionally we’ll be working to clean up our database, which has become a bit overgrown in the last few years, aiming to improve performance across the board.

The impact on you

Our goal with this move is to build a better experience for you, that is both faster and more reliable. Aside from new feature development, and more reliability, initially you shouldn’t notice too many changes. This first stage is all about building a better foundation, which then will enable much more progress in the future. However, due to the extensive nature of the migration we have put most new feature development on-hold until we’ve finished building out the sites on the new framework. Aside from bugs and security issues, which we’ll continue to address as they come up, you won’t see many big changes to CG Cookie until the Rails migration is finished. Even though we’re only just now announcing this move publically, I’m happy to say that the migration is well under way. Thanks to the excellent work of Nick Haskins, our lead web developer, the Blender Market is about 80% done. It is almost ready for vendor beta testing and we’re about to begin work on the foundation for the main education site. This move to Ruby on Rails has been a great learning experience for our small team so far, particularly for myself and Nick, as we’re learning new things every day and really enjoying the process. My hope is you’ll enjoy the outcome as much as we are enjoying building it. Stay tuned!

Newsletter Signup

Get fresh Blender content, training and offers straight to your inbox. Change your mind, unsubscribe at any time.

  • Thomas Robb (captainrex)

    You guys are doing an amazing job Keep up the good work :D

    Looking forward to all that is to come!

    Cheers, Rex

  • crew
    Jonathan Williamson (jonathanwilliamson)

    Thanks Rex!

  • v0rt3x

    I think the growth of CGCookie, the content etc. is great! What led to the decision to use Ruby over PHP, Java or C#?

  • crew
    Jonathan Williamson (jonathanwilliamson)

    The main determining factor was Rails, not Ruby. We're more picky on the framework than the language. If it had been "Python on Rails" we would have done that. We really like Rails as a framework and feel confident in it's ability to serve our needs. The fact that it's in Ruby is just an adde benefit as it's a really enjoyable language.

  • v0rt3x

    I use Laravel (PHP framework) and have to use .NET for work. Best of luck in the conversion/build.

    If you are farming out code tasks, I don't mind learning rails.

  • crew
    Jonathan Williamson (jonathanwilliamson)

    Cheers Daniel! We're not looking for additional coders yet but if we do we'll put up a job posting :)

  • Alex Ghidan (aange)

    Hi im Alex and im 16 years old. CGcookie is one of my favorite websites to vist. I love the content and when I work and get money I will upgrade to citizen. Blender is my first 3D software ever and iv been using it for 7 months now. CGcookie helped me make my first animated short with my brother!(The winner of anmation march). Thank you soo much Jonathan Williamson and Wes Burke...

  • Hassan Alzahrani (armada7ksa)

    I love the site and the current design, is it really needed to be changed?
    Thanks for the great service :)

  • crew
    Jonathan Lampel (jlampel)

    Thanks Hassan! The site layout and design will remain the same visually, it's just that everything under the hood will be different :)

  • crew
    Wes Burke (wesburke)

    Congrats on the animation! I hope CGC plays a positive role in landing that dream job. Glad to have you.

  • trance_trap

    Hi there ! ^_^/ I love CGCookie. But I'm curious why you guys chose Rails over NodeJS? NodeJS is a far, Far Superior technology than rails.

  • crew
    Jonathan Williamson (jonathanwilliamson)

    Rails was our choice primarily for maturity, familiarity, and capability for what we're trying to do. Without a doubt, NodeJS is a great system, although one we're admittedly less familiar with. There's any number of other options that also would have made solid choices, but at the end of the day it's important to make a choice and work with it.

  • Scott Gregory (diggndeeper)

    I am loving your work and I look forward to the progression. Thank you for this platform and all the opportunities you provide to learn what I believe is the most powerful story telling tool available (Blender).

CG Cookie

Learn Art. Make Dough.

Enroll in to our digital arts program and choose from four different disciplines; each with quick paths to measured success baked just for you.

Get StartedorLearn More