Here's a snap of a challenge page from our newly launched course, Rails Best Practices. A few months back, we at Envy Labs released Rails for Zombies, a free introductory Rails tutorial that allows all of the coding and evaluation to be done in the browser. It's been wonderful to see RFZ referenced a number of times in Forrst posts requesting intro Rails resources.
If you've been through RFZ, you'll notice the interface above is quite a change.
The first order of business was making the layout fluid and keeping the editor onscreen at all times. Watching devs work through the previous course really highlighted how inefficient the interface was - way too much mouse movement and scrolling. Now, the sidebar areas to the left and right keep their width and position, while the middle content flexes with the browser window. Error feedback no longer inserts into the body - messages are handled through a drop-down notice.
We also upped the complexity of the challenges (since this one isn't considered an introduction), which required more information on screen. Where Zombies utilized mostly database tables for resources, now we're displaying routes, views, requests, and other pertinent info on the same screen. For this, we've contained the resources area and added the left sidebar tabs.
Next up was the editor. We upgraded from Bespin to Ace, which gave a lot more skinning options. Most notably, we have multiple editors onscreen - either through a tabbed interface or split screen (the button to the right top of the editor toggles). It's been a big help to have the acutal 'file' names of the code being worked on, real editor style.
One of the driving principles behind Zombies and all courses moving forward has been fun, and we're working to add gaming principles to the learning environment. With all of the courses under a common umbrella (Code School), public profile pages with achievement badges per course become available. Within the course itself, points are earned for challenge completion - and reduced as hints are utilized. There are definite plans to make use of the points in the future for leaderboards and such.
It's been great to watch and contribute to the platform, and see how far the courses have come from our initial concept. There are a number of courses on the pipeline, one regarding HTML5 + CSS3 and another for jQuery. We've been rapidly iterating the interface and interactions, and hope to continue using feedback to make it better.
I'd love to hear any feedback about the design or platform - making it as user-friendly for devs as possible is the ultimate goal.
In case you'd like to see any of the sites, check out:
Rails Best Practices
Rails for Zombies