If you’re developing a Java application on App Engine you probably already know that you can use JPA and JDO, both standard Java persistence APIs, to interact with the datastore. What you may not know, and what I’m here to point out, is that for the past few months I’ve been accumulating a collection of practical, real-world examples that can help you take full advantage of these powerful APIs.In episode one I put together a working example of an owned, bidirectional, one-to-many relationship and demonstrated how you can persist child objects...
Tuesday, 22 December 2009
Monday, 14 December 2009
App Engine SDK 1.3.0 Released Including Support for Larger User Uploads
Posted on 19:31 by Unknown
Today, we've very excited to release version 1.3.0 of the App Engine SDK, now available to both Java and Python developers. The newest SDK includes a new experimental Blobstore API for storage of files up to 50MB.Store and Serve - Files can be uploaded and stored as blobs, to be served later in response to user requests. Developers can build their own organizational structures and access controls on top of blobs.Pricing and Quotas - We include blob storage and transfer under the same datastore pricing and quotas you're already familiar with....
Tuesday, 8 December 2009
Request performance in Java
Posted on 10:32 by Unknown
If you've been following the App Engine Java runtime group, you may have noticed some discussions about performance of the Java runtime. Many of you have complained about hard-to-predict DeadlineExceededExceptions, or unexpectedly slow requests that use a high amount of CPU. These issues often have the same root cause: App Engine is preparing a new instance of your code to respond an incoming request. We call this occurrence a "loading request". Since App Engine provides server resources on demand, there are several reasons why you might experience...
Thursday, 3 December 2009
App Engine SDK 1.2.8 Released Including New Admin Console features
Posted on 14:20 by Unknown
The App Engine team has been hard at work tackling our the issues on our tracker, tweaking APIs and closing bugs. In addition to a ton of bug fixes, 1.2.8 also includes:Enhanced Admin Console - Users will notice new tools for managing tasks and queues created with the Task Queue API, and more visibility into index processing.Improved Java Compatibility - This release adds support for new filter operators and inheritance to JPA and JDO as well as support for JAXB, the single most requested feature for the Java SDK.This was also the first release...
Wednesday, 18 November 2009
YouTube APIs + App Engine = YouTube Direct
Posted on 16:52 by Unknown
When choosing a platform to power a new application that will be used by popular media sites, some of the criteria we look for are scalability, ease of deployment, and ease of management. As with the nature of news and media, traffic can go up and down without much warning and getting new content out of the door quickly is the name of the game. App Engine has greatly simplified development and deployment of YouTube Direct, a new tool built on YouTube's open APIs that allows media organizations to request, review, and re-broadcast user-submitted...
Tuesday, 10 November 2009
Community Update: deferred, open source, and more
Posted on 16:22 by Unknown
Here are some of the recent developments from the greater developer community.deferred.deferNick Johnson recently added a new module to the App Engine Python SDK which allows you to use the task queue service to execute deferred function calls. This library requires minimal configuration and makes it even easier to use tasks. Using it is as simple as calling deferred.defer with the function and arguments you want to call - for example:from google.appengine.ext import deferreddeferred.defer(logging.info, "In a deferred task")For more details, see...
Thursday, 5 November 2009
Audrey Roy Wins the App Engine + Twilio Developer Contest
Posted on 18:03 by Unknown

Congratulations to Audrey Roy -- her "Price It By Phone" application won the Google App Engine + Twilio developer contest that ran from September 21st to October 4th. Audrey will receive $1000 in Google App Engine credit, and a Dell Netbook from Twilio.Audrey hacked together her contest submission in under 48 hours after going to an art museum and discovering that the $60 box she wanted was only $37 on Amazon.com. She used the Amazon Product Advertising...
Monday, 26 October 2009
Task Queue Quota Increases
Posted on 17:38 by Unknown
Since the Task Queue API launched in June, we've been thrilled withhow many developers have started using the API.Many developers have asked for more quota so that they can better utilize the API within their apps. We're pleased that we can now address these requests bysignificantly increasing the Task Queue quotas and are happy toannounce the following changes, effective from today:Free quota increased from 10K to 100K task insertions per day.For billing enabled apps, quota increased from 100K to 1M (one million) task insertions per day.Total...
Thursday, 22 October 2009
Find App Engine news and content at reddit
Posted on 11:14 by Unknown
We're pleased to announce that you can now submit and comment on App Engine news and articles on a new App Engine specific section of the popular social media site, reddit. Our subreddit is for any articles, blog posts, or other content relevant to App Engine, and is actively moderated and maintained by the App Engine team. Registration takes seconds and allows you to submit, vote, and comment on new App Engine content. The top articles, as selected by the App Engine community, are shown in a widget on http://code.google.com/appengine/.Be sure...
Thursday, 15 October 2009
App Engine SDK 1.2.7 - Bugfix Release for Python
Posted on 12:57 by Unknown
Due to two issues introduced in the 1.2.6 release of the Python SDK, we are releasing version 1.2.7 today. This is a bugfix-only release with just a few minor changes (no new features or functionality); all users of App Engine for Python should upgrade to the new version, available on our Downloads page. The two issues were:The 1.2.6 release added a key argument to the Model class constructor that broke subclasses who were calling the constructor's private arguments with positional (not named) values. The fix is to restore the original ordering,...
Tuesday, 13 October 2009
App Engine SDK 1.2.6 Released with Incoming Email, App Deletion, and more!
Posted on 15:50 by Unknown
The App Engine team is psyched to present version 1.2.6 of our SDK for both runtimes, Python and Java. This releases contains plenty of improvements and bugfixes, along with some exciting new features:Incoming Email - Your App Engine app has been able to send email for some time ... but now, with 1.2.6, your app can also receive email. After enabling mail as an inbound service (just like XMPP), users can email your application at whatever@yourappid.appspotmail.com. Inbound messages are converted to HTTP requests (again, just like XMPP) which you...
Monday, 5 October 2009
Interactive XMPP demos
Posted on 06:40 by Unknown
We hope you've been enjoying the new XMPP API we shipped in App Engine release 1.2.5. We're always impressed with the cool scenarios our developers create!A couple of Google engineers found the time to create cool App Engine demos using the XMPP API and we'd like to share them with you.CrowdGuru - this app, courtesy of App Engine Developer Programs Engineer Nick Johnson, is a fun trivia game which crowdsources answers. Add crowdguru@appspot.com to your IM list and ask it a question. You can read up on full details of the design and implementation...
Friday, 2 October 2009
Build a Voice App in the Cloud and Enter the Twilio + App Engine Developer Contest
Posted on 14:21 by Unknown
This week, Google App Engine and Twilio challenge you to build voice or voice-enhanced applications hosted on App Engine that use Twilio's voice application API to make and receive phone calls. Submit your app by October 4th to win a Dell Netbook from Twilio and $1000 of App Engine hosting credit from Google.Twilio hosts a telephony in the cloud web service, allowing web developers to build scalable, reliable voice communications applications on web hosting platforms like Google App Engine. Put Twilio and App Engine together and you can build...
Thursday, 24 September 2009
App Engine talks at a conference near you
Posted on 12:16 by Unknown
It's September and the fall conference calendar is starting to fill up. Members of the App Engine team will present at these conferences: join us if you are in the area, and feel free to tweet @app_engine if you want us to participate in local developer community events around these dates! September 29 - Barcamp at La Cantine, Paris - Patrick Chanezon October 1 - OpenWorld Forum, Paris - Patrick Chanezon October 16 - Stack Overflow DevDays LA - Jason Cooper October 16 - HDC09, Omaha - Patrick ChanezonOctober 16 - Day of Cloud, Chicago -...
Tuesday, 22 September 2009
Agile paddling with App Engine: lessons learned building the Canoe '09 website
Posted on 10:39 by Unknown

I work for Norex, a web development company in Halifax, Nova Scotia. As part of our sponsorship of the 2009 ICF Canoe Sprint World Championships in Halifax (Canoe '09), we developed an application to deliver real time race results to standard and mobile web browsers. Thanks to the ability to rapidly develop and deploy a scalable application on Google App Engine, and to do so live during the event, what began as a small experiment became a huge success...
Monday, 14 September 2009
Migration to a Better Datastore
Posted on 14:02 by Unknown
At Google, we've learned through experience to treat everything with healthy skepticism. We expect that servers, racks, shared GFS cells, and even entire datacenters will occasionally go down, sometimes with little or no warning. This has led us to try as hard as possible to design our products to run on multiple servers, multiple cells, and even multiple datacenters simultaneously, so that they keep running even if any one (or more) redundant underlying parts go down. We call this multihoming. It's a term that usually applies narrowly, to networking...
Friday, 4 September 2009
App Engine Launcher for Windows
Posted on 14:46 by Unknown

As recently announced on the Google App Engine Blog, the 1.2.5 SDK for Python now includes a GUI for creating, running, and deploying App Engine applications when developing on Windows. We call this the Google App Engine Launcher.About a year ago, a few of us recognized a need for a client tool to help with App Engine development. In our 20% time, a we wrote a launcher for the Mac. Of course, not all App Engine developers have Macs, so more work...
Thursday, 3 September 2009
App Engine SDK 1.2.5 released for Python and Java, now with XMPP support
Posted on 14:19 by Unknown

Today we are releasing version 1.2.5 of the App Engine SDK for both Python and Java, our first simultaneous release across both runtimes. We're excited about the great new functionality in this release ... including XMPP!XMPP SupportXMPP (or Jabber as it is sometimes known) is an open standard for communicating in real-time (instant messaging). One of the most popular API requests in the App Engine issue tracker has been support for XMPP, so today...
Friday, 28 August 2009
New features in 1.2.4
Posted on 08:58 by Unknown
When we released version 1.2.4 of the SDK earlier this month, a couple of new features were released that didn't quite make it into the release notes. We think they're really cool features, so we wanted to take the time to highlight them.The first feature is that when logged into your app as an administrator, App Engine will include a couple of extra headers in all the HTTP responses it sends you. As an example, here's what I see in Firefox's Live HTTP headers plugin when I load my blog:X-AppEngine-Resource-Usage: ms=293 cpu_ms=500 api_cpu_ms=236X-AppEngine-Estimated-CPM-US-Dollars:...
Monday, 17 August 2009
Recent Happenings: TickTock, parallel queries, DryDrop, and more
Posted on 16:28 by Unknown
Every month or so, we compile a list of interesting things in the community related to App Engine. Here are some recent projects and resources that you might find interesting:Ubisoft's TickTock on FacebookUbisoft has released a fun game for Facebook called TickTock which challenges you to guess which of your friends have posted particular status updates. From the application page "TickTock is a Facebook trivia game that tests your knowledge of your friends. Use that knowledge to create playful devices to challenge others. Unlock items and create...
Thursday, 6 August 2009
Python SDK version 1.2.4 released.
Posted on 16:01 by Unknown
We're psyched to release version 1.2.4 of the App Engine SDK for Python. Some highlights of what you'll find in this release:Remote API now supports more APIs (Images, Memcache, and URLFetch).http://code.google.com/p/googleappengine/issues/detail?id=1596A local shell for easy access to the Remote API.Support for kindless queries (aka transaction descendant queries):http://code.google.com/p/googleappengine/issues/detail?id=913PolyModel now supports keys_only queries:http://code.google.com/p/googleappengine/issues/detail?id=1630Support for multiple...
Thursday, 30 July 2009
Writing custom Property classes
Posted on 03:19 by Unknown
The App Engine datastore API comes with a wide range of Property classes you can use to represent properties on your datastore models. Occasionally, though, you'd like to do something that the designers didn't think of. Fortunately, it's really easy to extend the Datastore API with custom Property classes. In this blog post, we'll demonstrate how to write your own Property class to store Python's decimal data type.The Property interface is documented here, but there are two essential methods our DecimalProperty must override: get_value_for_datastore,...
Monday, 13 July 2009
Google App Engine for Java SDK 1.2.2 Released
Posted on 17:48 by Unknown
Greetings App Engine developers! We're pleased to announced the availability of a new Java SDK, available for download here. This is largely a bugfix release, but there are a few new features we think you'll be excited to get your hands on:The appcfg upload tool includes proxy support.JDO and JPA support an extension that lets you mark individual fields as "unindexed."At long last, the dev appserver has a data viewer. Start your app locally and point your browser to http://localhost:8080/_ah/admin to check it out.The local datastore now has the...
Thursday, 9 July 2009
A Day in the Cloud, new articles on scaling, and fresh open source projects for App Engine
Posted on 11:28 by Unknown
The latest release of Python SDK 1.2.3, which introduced the Task Queue API and integrated support for Django 1.0, may have received a lot of attention, but there have been a number of other notable launches and events since our last update. Several of these are summarized below.A Day in the CloudOn June 24th, Google Apps and Virgin America invited people from around the world to participate in a one-day online scavenger hunt called Day in the Cloud. Competitors were each given one hour to solve various puzzles and find answers to a host of trivia...
Thursday, 18 June 2009
The new Task Queue API on Google App Engine
Posted on 14:56 by Unknown
With release 1.2.3 of the Python SDK, we are psyched to present an exciting new feature - the Task Queue API. You can now perform offline processing on App Engine by scheduling bundles of work (tasks) for automatic execution in the background. You don't need to worry about managing threads or polling - just write the task processing code, queue up some input data, and App Engine handles the rest. If desired, you can even organize and control task execution by defining custom queues. A quick example: # for each user, add a task to send a custom...
Thursday, 11 June 2009
App Engine @ Google I/O goodness for all to enjoy
Posted on 17:10 by Unknown
Back in April when we launched Java support, we gave the first 10,000 developers who signed up access to the new runtime. In case you haven't heard, we recently announced at Google I/O that App Engine for Java signup is now open. We're excited to see more developers joining our community!For those who missed Google I/O or want a refresher on the sessions, the videos are now posted online. From building a complex and scalable app on App Engine to offline processing, there are a lot of things to learn from these sessions. You can find a more detailed...
Wednesday, 10 June 2009
Changing Quotas To Keep Most Apps Serving Free
Posted on 18:47 by Unknown
Since App Engine launched, our goal has been to offer substantial free hosting resources to as many developers as possible. As previously announced, we are changing our free resource quota levels, effective on June 22nd. Our target level of free support has been 5 million page views per month for a reasonably efficient web application.When we launched App Engine, we were intentionally generous in our free quotas, both because we didn't know resources usage of a typical request, and because we didn't offer a billing feature to allow developers to...
Friday, 5 June 2009
10 things you (probably) didn't know about App Engine
Posted on 14:44 by Unknown
What could be better than nine nifty tips and tricks about App Engine? Why, ten of course. As we've been participating in the discussion groups, we've noticed that some features of App Engine often go unnoticed so we've come up with just under eleven fun facts which might just change the way that you develop your app. Without further ado, bring on the first tip:1. App Versions are strings, not numbersAlthough most of the examples show the 'version' field in app.yaml and appengine-web.xml as a number, that's just a matter of convention. App versions...
Subscribe to:
Posts (Atom)