For the past few weeks, I've been scouring the web to learn everything I can about REST. I've spent hours watching presentations, reading blog posts, scanning RFCs (scary!) and bothering smart people directly. And after all that time and effort, I'm still putting the pieces together.
Sometimes, learning something technical is just plain hard. Information is scattered, opinions vary, and best-practices are buried. Nothing tells the whole, realistic story of how something (fill in any tech topic, REST, Symfony2, Testing, etc) looks in a real world application.
And all the information is out there! It's in blog posts, presentations and the brains of smart people. So why can't we put it all together into one complete example of how to do something correctly? We work together on open source libraries we all use, but why not on real-life tutorials?
And even though we're really proud of our tutorials, until now, we've worked on them in isolation. In fact, almost everyone on the web operates around this old idea of writing and releasing content in their own little silos.
So now, we're excited to enter our next phase, our rebellious, hyper-social, experimental college years if you will. It's less about us, and a lot more about finding out how we can work together.
What do I mean? Let's use some friendly bullet points:
Opening up on GitHub - Until now, the script and code have been totally closed. It was a model of "us the writer" and "you the reader". That's silly, so we're now in the process of releasing 100% of the script and code from every screencast (you can already peak at our GitHub). We're also going to open source more code and parts of the KnpUniversity site itself and share experiences (e.g. server stuff). In fact, this blog is sourced from GitHub.
Everyone is an Author - Wherever good tutorials live, it must be possible for anyone to update or even create new, high-quality coding stories. We're not there yet, but we are working with some really smart people (Brent Shaffer (OAuth), Saša Stamenković (Sylius)) on new content. If you've got a topic you know a little bit about, then we'd love to open this site up for your tutorial as well (email us: firstname.lastname@example.org). We need to be even more open and that's in the works.
Coding Activities - Watching a complete tutorial is better than reading a book. But nothing is better than actually coding yourself! We're poking that box by adding activities to our Twig course, with PHP activities coming very soon! This is something that we'll offer on every tutorial so that we can make learning these techy things as easy as possible. We're still figuring out how this should all look and work, so give us some feedback!
Transparent Tutorial and Coding Process - Instead of working on tutorials and new site features like we're a cold war-era country, it's time to open up! This is still a WIP, but we will post new tutorials on GitHub as we're working on them and use the blog to discuss new features and progress. If we can do something to be more transparent, we'll try it!
Like when we started, we don't know where this will all lead, but we do know that we're really silly excited! It means we get to share more and collaborate with really smart people. And it's a challenge to us to open up as much of our code, scripts and processes as possible.
We started KnpUniversity way back in December 2011 to prove that combining Symfony screencasts with corny humor was a rather silly idea. To make sure we failed, we originally forced you to download a huge video file (no streaming), didn't give you a script, and spread out releases over a long period of time.
But somehow, you're still here, reading this. And for that, we're embarrassingly thankful :).