I'm like a broken record at this point: designers, filmmakers, and creative communicators of all stripes should learn how-to code. Clever tools and study guides abound for helping non-hackers start getting their hands dirty on the command line. But speaking personally, none of them have done the trick of getting me to actually just do it. Why? Because they're not interactive. Reading a book or wathing a video series (no matter how well-designed) just isn't "sticky" enough to get me to stick with it.
So when I saw Codecademy.com, I literally shouted "Hallelujah!" Finally, here is a teach-yourself-coding tool with a UX that actually makes sense: it lives in your web browser, it's simple and game-like, and most importantly, it gets you coding. Immediately. If I weren't spending most of my non-working hours taking care of my infant daughter, I'd be blowing through Codecademy's addictive lessons every weekend.
First things first: Codecademy isn't conventionally "pretty", design-wise. Its interface consists of a small terminal window in your browser and a sidebar where your digital "instructor" issues instructions and chipper words of encouragement.
Ryan Rubinski and Zach Sims, Codeacademy co-founders
Zach Sims, Codecademy's co-creator (with Ryan Rubinski) says.
"We didn't hire a UI designer to design the site. We wanted to focus on the essence of programming, the terminal. We wanted to bring the magic of programming back to people and to take away everything else, like the process of choosing a text editor, a language to learn, or a place to store your code."
In other words, Codecademy is well-designed in the same way that Jason Fried claims The Drudge Report is: perfectly functional with no unnecessary calories. Of course, the same thing could be said of BBEdit, but Codecademy has some key design touches that make its simplicity feel friendly and Tumblr-esque, rather than spartan and intimidating.
- The homepage offers a frictionless "onboarding" experience by greeting new users right within the terminal window itself. You don't even have to click the bright green "Start" button (or hem and haw about what you might be getting yourself into)--by the time you tap your name into that terminal window, Codecademy already has its hooks into you, playfully introducing simple Javascript commands that feel more like doodling than doing homework.
- Codecademy also includes other "game mechanics" designed to keep you motivated (you earn badges for each lesson you complete, which can be shared socially with other n00b coders on the site or on social media). Unlike most other "gamification" gimmicks, these actually work, because they're pegged to actual accomplishments ("Hey, I learned how to spawn a dialog box!") and because, like any well-designed video game, the first few "levels" are fast and easy enough to be fun without feeling like work.
Sims explains.
"Learning is most often a solitary activity, with people reading books and attempting to program alone. I stumbled with progressing through programming books because there wasn't a reward at the end of the process. We thought game mechanics would help to keep people motivated."
For now, Codecademy focuses on teaching the JavaScript programming language, although other languages will be rolled out soon. Sims explains.
"Languages like Ruby and Python become popular and phase out of popularity just as quickly, but JavaScript remains because of its connection to browsers. We're focused on creating a great user experience right now and on educating the world."
I've used Codecademy a handful of times, and I'm already hooked -- so I'm inclined to believe these guys might just pull off that ambitious goal.
COMMENTARY: I have to admit that I have dabbled in JavaScript. Mostly, I have copy-and-pasted pre-written JavaScript widgets into my websites to give them more functionality like dropdown menu's and animations.
JavaScript is the most popular programming language in use today. So, if you want to learn how to code, you might as well start learning Javascript through CodeAcademy.
CodeAcademy is a great place for beginners to start if you want to learn how to program. If you have experience with other programming languages and want to start with Javascript, CodeAcademy will make sure that you learn quickly. CodeAcademy will put you on a path to building websites, games and apps.
CodeAcademy provided a working space for you to work and type codes on. You’ll be able to write your codes in there and run them. In each lesson you’ll be asked to write a line of code or two depending on your progress. You’ll only get to the next lesson if you get to run you code without any error. If you’re having trouble with your lesson, you could ask other users about it on the comments section. Or, you could hit the hint button to better understand the exercise that you’re asked to complete.
Another great thing about CodeAcademy is that you can learn with friends. You’ll be able to keep tabs on each other’s progress and make sure you’re learning more –faster. It’s sort of like a friendly programming competition among friends. You’ll also be awarded with virtual badges to keep you motivated and to let your friends know about your progress.
And the best thing about Code Academy? It’s free!
Courtesy of an article dated October 5, 2011 appearing in Fast Company Design
Comments