4 Comments

Summary:

Steven Huffman, who co-founded Reddit and then Hipmunk, used Google App Engine to teach novice programmers web development on Udacity. He is impressed with it as a real-life development platform. And Google really, really wants you to know that.

Reddit and Chipmunk co-founder Steve Duffman
photo: Google

Some developers don’t consider Google App Engine as a for-real Platform as a Service. But Steven Huffman is not one of them. And, seeing as how Huffman co-founded Reddit and went on to do the same with popular travel site Hipmunk, his opinion carries weight.

Huffman, who is teaching an online web programming class on Udacity, was not sold on Google App Engine (GAE) as the development platform up front, but decided to give it a shot, given the subject matter. “I was pretty skeptical going in but it was the only system that looked like it might work for what we were trying to do, which was, first, teach people to write programs and, second, get those programs online fast,” he said. (Huffman blogged about the experience for Google.)

It was the second part that was tricky. “Getting programs online involves a lot of sysadmin stuff that’s a giant pain. GAE gives you free hosting for sites that get a small amount of traffic and they set it all up for you. It seemed like a good fit if it worked as advertised and, well, it worked as advertised,” Huffman told me in an interview.

Google wants developers

Huffman’s approval is clearly a coup for Google, which has been trying to build credibility for GAE among developers. Google’s been touting the fact that 57,000 (!) students have signed up for the course — and will host a Google+ Hangout with him on Thursday.  But PR aside, Huffman makes some convincing points about GAE.

Full disclosure: Udacity was co-founded by Google VP and Fellow Sebastian Thrun and itself runs on GAE (as does the popular Khan Academy online learning site.)  One reason he went with Udacity versus another online company is that David Evans, his former computer science professor at the University of Virginia, is now VP of education at Palo Alto, CA-based Udacity.

GAE: the “right level of abstraction”

Huffman did have a choice in tools and he went with GAE rather than Heroku or another PaaS. One reason was, as serendipity would have it, Huffman found GAE’s basic framework similar to the Python-based web.py framework Reddit developed for its own use because Huffman et al did not like the big, overly complex frameworks available at the time, he said.

“GAE made it possible for the students to build a blog — [set up] the user registration, submit stories, sort them,” he said. In each class, the students are told to add  that feature to their blog and submit the URL of the blog running live.

For Huffman, GAE covered the middle ground between the highly complex and monolithic frameworks he disdained and what he sees as overly simplified tools that don’t teach would-be programmers what they need to know about the basics.

In his view GAE sits at the right level of abstraction for students. “Things like Rails make things so simple that you actually don’t have to know what’s going on. That’s a disservice to the student. The web isn’t that complicated, HTTP isn’t that complicated, but when you hide all that from the developer it’s harder for them to  track down problems later. GAE forces you to think about the difference between things like “get request” and “post request.” These are not hard concepts but you do have to deal with these things by hand.”

Google continues to add developer-friendly perks to GAE, which included adding support for Jenkins continuous integration early this month. Last week, GAE suffered an outage, which probably doesn’t help its case.

  1. I am one of those 57,000 students and have to agree that GAE is very easy to get going. I have been trying to setup Django on AWS and there are certainly more moving parts that can go wrong. The devops side of things are just such a pain… Almost harder than developping the actual app / site.

    And thanks to Steven for teaching the course! Very very very usefull. No theoretical blabla, but building real things from the ground up assuming very little knowledge.

    Share
  2. I have dabbled in GAE myself and it is quite a breeze. The only downside is that its a proprietary system and hence locks you down form migrating to something else in the future.

    Share
  3. Orcas Island TV Thursday, November 1, 2012

    Google is really selling hard these past few months. They’ve got a ways to catch Amazon.

    Share
  4. I completely agree. I have been using GAE since 2008, and while it forces you to build things “the google way”, the reasons for doing that are sound. It’s not 100% reliable, but nothing is.

    People typically don’t take sys admin costs into account, but they are significant, especially in the early days before your app has enough traffic that variable costs add up to much. It doesn’t just eliminate the sys admin stuff, but a lot of ops are handled for you too.

    Its not the right choice for every app, but overall it is a very good solution. I just wish other vendors would emulate it well enough that your code is easily ported should you want or need to move at some point.

    Share

Comments have been disabled for this post