github.com/hoffmann Peter Hoffmann on Stackoverflow @peterhoffmann on twitter Peter Hoffmann on Facebook Contact me per email Subscribe to Atom Feed

Peter Hoffmann

Software Engineer
prev page next page

Google Developer Day 2010

Posted on November 9, 2010

After two nice days at the GTUG Bootcamp, today I was at the Google Developer Day

Here are some notes about the sessions I attended:

Programming the Web with Native Client

Native Client gives developers new programming language choices on the web. You can build rich applications with all of the safety and portability you expect from the web, while benefiting from the performance of native code. A demo showed how to access emerging capabilities on the web such as sound and 3D graphics.

What's New in App Engine

Fred Sauer talks about a few of the features recently just launched on the Google App Engine platform:

Channel Api
Asynchronous messages delivery to the browser. A bi-directional communication service. Runs the Google Talk plugin in Gmail. Use a javascript library on the client. There is a sample Application available http://dance-dance-robot.appspot.com/.
Mapper Api
Provide full Map/Reduce functionality on App Engine. Available as open source http://mapreduce.appspot.com. The whole thing is written in user-space so you can just include it in your project.
MySQL
You can use the new SQL database features, beside the normal App Engine datastore.
Multi-tenancy
Easy way to do data isolation (e.g. for different customers). You can just set a filter on every request which will set a custom namespace. For Example your memcache entry looks like <appid><namespace><key><value>. But you will never really see this, because everything works like magic under the hood. The same technique is used at the App Engine datastore.
Matcher API
Not officially launched yet, only available in the python api. Developers will be able to register a large number of queries for incoming documents to be matched against. The API will then match these queries against numerical and text properties of incoming data at a very high rate. See more at the Matcher API Announcement.

You can find the demo app on appspot http://fredsa.appspot.com/.

Other new features mentioned were high performance image serving, OpenId OAuth integration, custom error pages, increased quotas (no longer 1000 entity limit), app.yaml now usable in Java apps, you can pause task queues and the dashboard graph now shows up to 30 days.

Exploring Google's Social APIs

Ade Oshineye gave a talk about Google Buzz and Google's Social APIs.

PubSubHubBub
A simple, open, server-to-server web-hook-based pubsub (publish/subscribe) protocol as an extension to Atom and RSS. Parties (servers) speaking the PubSubHubbub protocol can get near-instant notifications when a topic (feed URL) they're interested in is updated. Google provides its own hub server.
Buzz Track
A push feed which is based on a search on the buzz firehose. http://www.abstractioneer.org/2010/08/track-built-on-open-specifications.html
Buzzchatbot
A xmpp bot which can monitor keywords with Buzz Track http://buzzchatbot.appspot.com
Log-in with Google
Simple and easy way to use OAuth as login on any web page.

Storage, Big Query, and Prediction APIs

Talk by Patrick Chanezon and Simon Meacham on Google's Cloud Offerings:

Google Storage
is a RESTful service for storing and accessing your data on Google's infrastructure. The service combines the performance and scalability of Google's cloud with advanced security and sharing capabilities. Google Storage is an entry point for using new Google Cloud services. You can access it via the Storage Api or the gsutil command line app and the Google Storage Manager. Since Google Storage uses the same API as Amazon S3 other tools made for S3 should work as well.
Google Prediction API

Google's machine learning technology, available as an on-demand RESTful HTTP web service. If you studied and implemented some machine learning algorithms yourself, this might not be for you because it is more like a black box. http://code.google.com/apis/predict/ Check out the v1.1 Api that includes goodies like multi tag suggestion.

Predict reddit category based on title and domain by Nick Johnson: http://redditguess.appspot.com/

Google BigQuery
is a web service that enables you to do interactive analysis of massively large datasets. bqshell is an interactive command-line environment that enables you to run queries against tables. bqshell exposes a subset of capabilities exposed by bq. http://code.google.com/apis/bigquery/

How can you raise Venture Capital money for your startup?

Hear from professional investors and experienced founders who have raised money.

Don Dodge's focus is on helping developers work with Google Apps. Don joined Google after 5 years as a developer evangelist at Microsoft. Don is a veteran of five start-ups including Forte Software, AltaVista, Napster, Bowstreet, and Groove Networks and has been in the software business for more than 25 years. Don spent 5 years at Microsoft working with VCs and start-ups in the greater Boston area.

Question and answer with George Sperling founder of Altos Advisors and Yaron Valler partner at Hasso Plattner Ventures. Nice insights about the differences between silicon valley and German startups, like the lesser use of non-cash compensation stock options in small companies in Germany. A common exist strategy of German startups is to be bought by an American company. In the valley being at different companies every three years is a good sign (gained more experience) while it is seen more negative in Germany.

Set up your business where your market is. So for example have your business in America and your development in Europe if you want to go global.

HTML5 or Native for Mobile Development?

Native apps or mobile web? It's often a hard choice when deciding where to invest your mobile development resources. While the mobile web continues to grow, native apps and App Stores are incredibly popular. Reto Meier and Michael Mahemoff present both perspectives before answering questions in a panel style debate.