Skip to content
May 29, 2008 / Ben Chun

Google App Engine

There’s been a lot of buzz in the press about Google App Engine, and if you’re like me you’ve been wondering a couple things:

  1. What is Google App Engine, exactly? and
  2. Are there implications or applications for education?

After spending the past two days immersed in the Google I/O conference, I want to try to answer both of these. First, what it is:

  • Free hosting for Python-based web applications (up to 5M pageviews/month)
  • A Google-specific data model based on their BigTable non-relational data storage system
  • An API to access Google’s user authentication, image manipulation, mail, memcache, and URL fetching services
  • Plus a simple, optional Open Source framework for building webapps that uses Django-style templates
  • A local development environment designed to simulate the deployment environment as accurately as possible (via a localhost web server)

Offered by an entity as powerful (both financially and technically) as Google this has the potential to really accelerate web application development and deployment. They claim it will make scaling much simpler as well. Of course, App Engine isn’t going to be a miracle solution to all problems. But it really does seem to abstract away a lot of the fiddly sysadmin details (buying hosting accounts, setting up databases, configuring web servers, etc.) and let you focus on the programming task. So, to address the second main question, what does this mean for education?

1. There is a huge opportunity to teach students how to build real live web applications, since you no longer have to set up or buy hosting and the deployment environment or figure out logins and permissions. All it takes is for each student to have a Google Account, and for the teacher to build some curriculum around App Engine. I’m not saying this is easy (you’d need to cover everything from HTTP to Python to HTML for them to really understand) but it now seems possible. And it didn’t seem possible to me before. Context: I’m a computer scientist and I run both FreeBSD and Linux servers at home with Apache/MySQL/PHP, run nameservers for my own DNS, and host a bunch of domains. But was I really going to build out a web app deployment environment for students to hack on? Answer: no.

2. For district and school IT departments, web applications are now easier and cheaper to build and deploy. Because you don’t have to spec the server cost, connectivity costs, or the sysadmin cost as an ongoing expense, it’s much easier to define and limit the scope of a project. In short, you can build apps to solve problems without incurring more problems. This didn’t seem to previously be the case.

3. Coupled with the Google Apps Education Edition, this opens up the potential for schools and districts to provide their faculty, staff, and students with not only email but private web applications completely free. (You can specify that users must login with their in-domain email address to use your app, if you want.) Compare this to the enormous expense that tends to be associated with Microsoft Exchange and Windows Server-based applications, and it starts to make sense to give your IT staff paid time to learn Python. Or did you really like buying those SQL Server 2008 enterprise licenses? How about the Exchange Server 2007 licenses? Imagine using all that money to pay people to do useful work, instead of using it to buy software that creates more work.

4. This means that there is a huge opportunity for Open Source development of Google App Engine applications that can be used to run school districts and schools. So far, adoption of Open Source by districts has been slow (with notable exceptions) because people that work in those IT departments tend not to know how to administer any non-Windows server. Now, they don’t have to know how.

5. The idea of building software for schools could, perhaps, be tied back into the first point. What if students were involved in building web applications needed by their schools? Obviously you don’t turn over responsibility for writing the gradebook or the attendance application, but what about applications to help the Student Council or various clubs keep track of membership or other projects? You can do a lot with a Google Spreadsheet and Forms, but when you outgrow that, the App Engine is waiting.

3 Comments

Leave a Comment
  1. Eric Nguyen / May 29 2008 8:30 pm

    Thanks for the post, Ben. When I first heard of App Engine, I imagined it was cool because it would lower barriers to entry for businesses to get things up and running, and to scale easily.

    I hadn’t thought of your latter point: that the App Engine is a whole platform that you can develop for, dramatically reducing the barriers to entry for your *customers*.

    It’s even cooler that that model will work at least as well for open source projects.

  2. Dad / May 31 2008 7:00 am

    Don’t know all the INs and OUTs of this stuff, but if it’s less administrative cost & work leading to more end-user function then I say , only wish we could do the same and make Healthcare less about the indu$try than about the people.

    Would a beer get me an individual basic tutorial on this?

Trackbacks

  1. The Promise of Google App Engine for Education « And Yet It Moves

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: