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(s crm) 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.