Blog of our latest news, updates, and stories for developers
Introducing the Google APIs Console and our latest API updates
Monday, November 1, 2010
After a busy year of creating, curating, and re-organizing our APIs, we’re pleased to share that:
We’re announcing the Google
APIs console
, a new tool to help you use our APIs in your applications and on your websites.
We’re introducing a new and improved Custom Search API and the new Translate API, which replace the old Web Search API and the old Translate API respectively, which are being retired along with the old Local Search API.
We’ve reorganized and rewritten the documentation for some of your favorite APIs (read more on the
AJAX APIs Blog
).
New Google APIs Console Improves API Experience
The new
APIs console
helps you manage your API usage across all of your sites and apps. Key features include:
Log in with your Google account to see the API projects you’re working on.
Create and manage project teams for projects that are shared with your co-workers or friends.
Get developer credentials to track exactly how you are using each API.
View information about how your site or app is using the APIs, including which of your pages are making the most requests.
Initially, the console supports over a half dozen APIs – that number is expected to grow rapidly over time. Please take a look at the
APIs console
and get started using Google’s new APIs today.
New Custom Search API Delivers Better Integrated Search Experience
Google Custom Search
helps you create a curated search experience, tailoring a custom search engine precisely to your specifications. This is the perfect tool for helping your visitors find exactly what they’re looking for on your site, and is especially useful for businesses that want to create a customized search experience across their public content without the expense or hassle of developing and hosting their own search infrastructure.
Today we are enhancing our Custom Search offering with the introduction of new output formats and a new API. Now, in addition to using the
Custom Search element
or the
XML API
, the new API offers search results using your choice of Atom or JSON syndication formats. To get started,
click here
to log into the API console and add this API to your project.
Retirement of Older APIs
As part of our ongoing housekeeping of our first-generation APIs, the legacy Web Search API and the Local Search API are being retired, to be phased out over the next three years as per our deprecation policies. We’ll also be tightening up our enforcement of the rate limits for these and the Translate API v1 over the next few months with an eye toward mitigating unauthorized usage, so we encourage everyone to migrate to the new APIs as available on the APIs console, or over to the
Custom Search Element
, the
Translate Element
, or the
Maps API GoogleBar
as your needs dictate.
Looking Forward
We’re excited about the opportunities that the new APIs console and this first batch of APIs built on our new
API architecture
will offer to developers. Even though we’ve been building APIs for several years now and are quickly approaching
100 tools, products, and APIs
for developers, we still feel like we’re just getting warmed up. We’d love to hear your feedback on the new Google API console and our newest APIs — please
let us know
what you think.
By Adam Feldman, Adam Winer, David Gibson, and Louis Ryan, Google Developer Team
How To Make Maps The Center Of Your UI (And How Not To)
Friday, May 22, 2009
This post is part of the
Who's @ Google I/O
, a series of blog posts that give a closer look at developers who'll be speaking or demoing at
Google I/O
. This guest post is written by Sasha Aickin, Engineering Manager at Redfin.
The oldest saw in real estate is that the three most important things about a house are location, location, and location, and at Redfin we took that as our user interface mantra as well. We made a decision early on that we were going to build a dynamic AJAX web app where the Google Map wasn't just a feature of the application but was the main driver of user interaction.
The map
is how users tell us where they want to search and what houses they are interested in buying, and our users tell us time and again that the map is what keeps them coming back.
That being said, we've made a lot of mistakes along the way, and I thought it might be helpful if I shared a few of the lessons we've learned over the last few years about building a map-driven UI:
#1 Always Be Thinking About Speed
Rich web apps that mash up many different APIs can be incredibly powerful, but after a while you'll start to look with a gimlet eye at every new API that comes down the pike. Why? Because every new API you add makes your site vulnerable to slowdowns, and your users will punish you for slowness.
Some of these slowdowns are inevitable, but many can be avoided by clever use of code loading techniques and HTTP caching. My best advice to people who ask me what they need to know before building a fast AJAX site? Follow everything that
Steve Souders
does. Read his book ("High Performance Web Sites"), follow his blog, and go to every talk of his you have a chance to. You'll learn how to defend your site's speed and delight your users.
#2 Carefully Consider The Full Screen Map
One early design decision you have to make with a map-driven site is whether your site is more like an app or more like a web page. Apps don't have scroll bars, and they resize all their controls when the browser resizes. Google Docs, 280slides, and Redfin are all examples of app-like sites, as is the main Google Maps site. Web pages, on the other hand, feel like documents. You can scroll through them, they often don't resize in a dynamic way, and they remind you more of a Word document than Word the application.
The full screen app style makes a lot of sense for sites like ours that use maps as their main navigation, but you can end up with a lot of user interface issues if you don't think the interaction through carefully. Before you make a full screen map UI, realize that your screen real estate is going to be severely limited, especially on laptops. Know that browser resize code can be buggy and difficult, especially if you have to support IE6. Understand that you will have to cut information you think should be in the interface for lack of space. If you have the time, create some prototypes of both app-style maps and web page-style maps and test them with users before going all-in.
#3 Make It Bookmarkable
This tip goes for all AJAX apps, but it is especially important for map-driven sites. Traditionally, AJAX apps have not been truly bookmarkable, and that has hindered both their shareability and utility. You want your users to share links to your site, and you want those links to always represent the same view on the map. If your users twitter or IM a link to your map-based site and it doesn't show their friends the same results that they are seeing, they're going to be confused at best and angry at worst. Furthermore, their friends aren't going to be exposed to your site, and you're going to miss an opportunity to create new users.
I won't lie, bookmarkability does add complexity to your app, but it's worth it. Pick up any of the many bookmarkability or back button JavaScript libraries and integrate it into your app. Your users will reward you for it.
#4 Decide How To Show Large Result Sets
If you're displaying results on a map, at some point you're going to come up against the problem of displaying many, many results on a map, and you're going to have to consider the problem of pagination vs. regionation.
Let's say you've built the ultimate map-based cafe finder, and someone searches the whole of San Francisco. San Francisco's a city that loves its hipster cafes, so you have 1000 results, but you can't possibly show those all on the map because you will confuse your users. Now you're faced with a choice: paginate or regionate?
Pagination would have you break down the results into groups of, say, 50 and show them one set at a time on the map, much the way that Google Search paginates your results. This is usually relatively easy to implement, but in my opinion it often misleads users. The typical response we've seen to paginated results on a map is that users think that they are seeing everything at once, and they get confused when a result that should show up isn't there.
Regionation, on the other hand, is the process of showing all the results on the map, but clustering them into groups so that the user can get a feel for where the results appear and zoom in to see more detail. Regionation usually provides a better user experience for large result sets but can be more work to implement. Search for "google maps clustering" to get some suggestions on how to start.
These are just a few of things we've learned over the years, and we'd love to discuss more of them with you either at the Google I/O
Developer Sandbox
or at the
Performance Tips for Geo API Mashups
session, where we'll be giving a short demo.
P.S. We've talked about Google Maps' speed
previously on our developer blog
, if you're interested in a little more detail.
Guest Post by Sasha Aickin, Redfin
Who's @ Google I/O - spotlight on AJAX and Google Data APIs
Thursday, April 30, 2009
There are over 60 Google APIs across a wide range of products and technologies. The
AJAX APIs
include Google Search, Language, Maps, FriendConnect, and Visualization APIs. The team recently launched v2 of the
AJAX APIs Playground
, an app designed to show interactive code samples for some of our coolest Javascript APIs. The
Google Data APIs
provide a simple standard protocol for reading and writing data on the web and are used by many products including
YouTube
,
Calendar
,
Picasa Web Albums
, and as of last week,
Analytics
.
Google I/O will feature many
sessions
covering the AJAX and Google Data APIs. Here are a few of the developers who'll be leading sessions and/or demoing at the Developer Sandbox:
Redfin
Redfin is an online brokerage site for buying and selling homes. Redfin uses the Google Maps, Charts, and Feeds APIs. Redfin actively talks about the behind-the-scenes development decisions, which can be found at the
Redfin Developer Blog
. (For example, they
blogged about why they switched to the Google Maps API
) Sasha Aickin, Engineering Manager, will be speaking on a
session
called
Performance Tips for Geo API Mashups.
Lonely Planet
Lonely Planet is known by travelers for producing informed and honest travel advice. Lonely Planet uses the Google Maps Javascript API to power interactive maps on lonelyplanet.com, the Google Static Maps API on its cross-device mobile site, m.lonelyplanet.com, and OpenSocial, App Engine, and Android in products soon to be launched. Ken Hoetmer, Lonely Planet's neogeographer in residence, will be speaking on a
session
called
Maps APIs & Mobile.
Adobe
Introduced with Adobe Creative Suite 4, Adobe Community Help utilizes
Google Custom Search
(a product which also supports the AJAX APIs) to aggregate the most relevant help content from the broader community. By integrating search directly within the application workflow, users can find answers to their software questions no matter where those answers may be found. Currently, Adobe is exploring ways of expanding Custom Search to include code samples directly within Adobe development environments for products like Flash and Flex. (Read Adobe's blog post about
Adobe Community Help
)
LuckyCal
LuckyCal is a calendaring application which utilizes several of the Google Data APIs to create a dynamic calendar experience. They authenticate using OAuth to retrieve data from the Calendar and Contacts Data APIs. Based on where you'll be, who you know and what you like, LuckyCal finds events that are relevant to you. LuckyCal has also created a Google Gadget and uses the Maps API (both for UI and for Geocoding) extensively.
Eye.fi
The Eye-Fi Card stores photos & videos like a traditional memory card, and fits in most cameras. When you turn your camera on within range of a configured Wi-Fi network, it wirelessly transfers your photos & videos to either your computer or services like YouTube, Picasa Web Albums, etc via the YouTube and Picasa Web Albums Data APIs.
Vast Rank
Vast Rank is a college ranking website that utilizes the Google Maps API in their interactive ranking map (where visitors see rankings based on what is in view on the map). With the Client Location API, Vast Rank’s personalization engine can weigh the visitor’s location into the criteria used to suggest interesting colleges to the visitor. Vast Rank creator Jon Kragh will be leading a
session
, Using AJAX APIs to Navigate User-Generated Content.
280 North
280 North's application, 280 Slides, enables users to easily create web-based presentations. With the AJAX Search API and Google Data APIs, 280 Slides builds in the ability to search Google for images and YouTube for videos and drag media directly into a presentation. 280 North is also the creator of Cappuccino, an open source JavaScript-based web development framework. Check out co-founder
Ross Boucher's videos
where he talks about 280 Slides' implementation.
Finally, a friendly reminder that early (discounted) registration for Google I/O ends this Friday, May 1. Visit
code.google.com/io
to sign up and learn more about sessions and demos that'll be in store this year.
*Follow us for the latest I/O updates:
@googleio
.
By Christine Tsai, Google Developer Products
Updated GoogleBar features new UI and targeted sponsored results
Wednesday, March 18, 2009
By Adam Feldman, Google Developer Team
The GoogleBar, a control in the Maps API to allow users to search the map for local businesses, landmarks and points of interest, has just launched a new version. In addition to a greatly improved UI, the new GoogleBar includes advertising targeted to the user's searches. This new feature will improve the user experience by providing targeted and relevant sponsored results, and you can benefit by sharing in the revenue of including these results on your site. You can see the new GoogleBar, together with ads, below:
As shown above, the new version of the GoogleBar contains advertising. Profiting from the advertising personally is as easy as
signing up for an AdSense account
and including your
AdSense publisher ID
when you create the GoogleBar. See the recent
Maps API Blog post
for details. Whether you already have a map on your webpage or not, it only takes a few lines of code to embed a fully searchable map into your site - the
GoogleBar documentation
will tell you everything you need to know.
The GoogleBar is built upon our low-level Local Search Control. For those interested in peeking under the covers, check out the
Local Search Control documentation
and
Code Playground examples
.
Questions or comments? Please visit the
AJAX API
and
Maps API
discussion groups.
Now playing: developer-created videos
Wednesday, February 18, 2009
By Christine Tsai, Google Developer Programs
In the last few months, we've posted videos of developers sharing how they built their applications with Google developer tools and technologies. These included developers building their AJAX front-ends with
Google Web Toolkit
, writing mobile apps for the
Android platform
, and scaling their web apps with
App Engine
. We really enjoyed working with these developers to produce these videos. However, we thought it would be great to allow any developer to create their own video talking about their application and help them share their video with other developers on
code.google.com
.
Today, we're happy to announce that we're now accepting developer-created videos through this
video submission page
. If you've got a great app built with Google developer products and want to be considered to be featured on
code.google.com
, all you need to do is:
Check out these
instructions and guidelines
Create a short video (or videos) based on the above guidelines and upload it to your
YouTube account
.
Submit your video details on the
submission page
.
We'll be reviewing submissions regularly and selecting videos to feature on code.google.com and/or our developer blogs.
You don't need professional equipment or even a studio to produce a good video. Here are 2 examples of videos created by developers. Note that both were shot with hand-held video recording devices and basic video editing software. And as you can see, the "sets" used are just their own workspaces:
Jimmy Moore, developer of
Mibbit
:
Best Buy's
Giftag.com
, which was
recently featured on this blog
:
Ready to tell us your story? Visit the
submission page
to get started.
Google Visualization API interactive samples in the AJAX APIs Playground
Monday, January 26, 2009
By Nir Bar-Lev, Google Developer Programs
We all know that writing code based on existing code snippets is faster and quicker than starting from scratch. It's also a great way to ramp up on new tools or APIs you may be less familiar with.
That's way we decided to provide a whole bunch of
interactive code samples
for the
Google Visualization API
in Google's recently launched
AJAX APIs Playground
.
These code samples run the gamut from specific visualizations like for the
Motion Chart
,
Annotated Time Line
(used in Google Finance) or
Geo Map
to covering specific Visualization API topics like
event handling
and placing
data source requests
.
The Playground enables you to change the sample code, re-run it, and see the results in real time. You can export your code, save it, and also get a full HTML source. In fact, for most of your programming needs, this tool is all you'll ever need to write, debug and integrate visualizations from the Visualization API into your web pages.
We hope you enjoy the added productivity and wish you happy visualizing!
Playing around with Google's AJAX APIs
Wednesday, January 21, 2009
By Ben Lisbakken, Developer Programs Engineer
For me, documentation isn't always enough to learn about APIs; I need examples that I can play with. That's why I started a fun project recently--a tool for teaching developers how to use Google's JavaScript APIs: the
AJAX API Playground
. I have been working on this in my 20% time and today I am proud to announce that we are launching the AJAX API Playground as the official way that Google will show JavaScript samples!
The AJAX API Playground is currently loaded with over 170 samples for 8 Google JavaScript APIs (Maps, Search, Feeds, Calendar, Visualization, Language, Blogger, Libraries and Earth) that you can edit and run to help you explore what Google's APIs have to offer. There are also save and export features. The save feature allows you to hold onto an edited sample so you can continue working on it later, while export lets you modify a sample and publish the code to a permanent url.
As the AJAX API Playground is built on
App Engine
, you can create your own App Engine instance to show off your code samples. The code is open sourced under an Apache 2.0 license and uses several open source libraries and tools, including
jQuery
,
jQuery UI
,
YUI Compressor
, and
CodeMirror
. You can find the code on
Google Project Hosting
and learn about adding samples on the
project wiki
.
Stay tuned for more samples for more APIs. Enjoy!
2008 Year in Review
Tuesday, December 23, 2008
By Mike Marchak, Google Developer Team
Before looking back on this past year, we'd like to thank the developer community for your involvement and enthusiasm in 2008. Without you none of our accomplishments would've been possible and coming to work would not have been nearly as rewarding or exciting.
In 2008 the developer team at Google made it significantly easier for developers to build increasingly sophisticated web apps. Looking back, some of the most notable events from the last year include the
App Engine launch
,
GWT 1.5 launch
,
Chrome launch
,
AJAX Language API launch
,
AJAX Libraries API launch
and the
broad adoption of OpenSocial
.
We also worked hard to make it simple to integrate and extend Google applications through the launch of the
You Tube API
,
Visualization API
,
Maps for Flash API
,
Finance API
and
Custom Search API
.
We were also really happy to participate in the
Open Handset Alliance
where we saw the announcement of the
Android Developer Challenge winners
, the
Android 1.0 SDK launch
, and the first app downloads in the
Android Market
.
Our favorite part of 2008, however, was interacting with you at
Google I/O
and at
Developer Days
. These events allowed us to meet inspirational developers in 15 countries around the world who are building fantastic applications.
In 2009, we look forward to building products to make the web better and that let you, the developer community, build better apps on the web. We are already excited about seeing you at events next year.
Happy Holidays from the Google Developer Team.
Google AJAX APIs available from outside of the browser
Thursday, April 24, 2008
By Dion Almaer, Google Developer Programs
The AJAX API team just posted about using
Flash and the server side
to access the AJAX APIs.
This is very exciting, as it now allows you the developer to access not only Google Web Search results, but also query video, images, news, local, and other search functions. Also, this covers the AJAX Feed API which means you can get access to feeds in a normalized manner, and the new AJAX Language API to do translations and language detection.
If you step back, you can see this as a Google REST API, and some of you have wondered how it compares to the SOAP API.
I got to go to the horses mouth, Mark Lucovsky (team lead for the AJAX APIs), to discuss what this new access point is all about, and you may be a little surprised with the content.
We discuss the fact that this has actually been running for quite some time, but we now have clarified it as an official end point for your usage. This also means that it has thorough documentation, which was important as Mark talks about how some people have been using the API incorrectly.
Mark clarifies the terms of use, and you come out of this in the knowledge that his team has been attacking very different problems to the original SOAP API team. He has been ruthlessly practical, as you will understand as he talks about the problems his team are solving, and the breadth of sites that are using these APIs, including some very big names.
Enough of me talking, let's listen to Mark:
Hear more from Mark on the AJAX APIs, Vadim on accessing the APIs outside of AJAX, and Derek on advanced development using AJAX Apis at
Google I/O
.
Introducing AxsJAX -- Access-Enabling AJAX
Tuesday, November 13, 2007
Posted by Charles L. Chen and T.V Raman
As the developer behind
Fire Vox
I've always wanted to make AJAX web applications truly usable for the blind and visually impaired. The challenge is that these users have to deal with a much higher learning curve than sighted users. Instead of simply learning the controls for a web application, they have to also learn how to get their assistive technology of choice to go to the interesting parts of that application to find out what is currently there.
When I started as a Noogler, I was extraordinarily impressed with the tools that
T.V. Raman
had built into
Emacspeak
for efficiently performing specific tasks. An insight that I gained from watching him use Emacspeak is that the application should just say the right thing in response to user actions; users should not have to do an action in the application and then use their assistive technology to go hunting around the screen to figure out what happened.
In my first week at Google, I discovered
Google Reader
a highly optimized feed reader with very good keyboard support. For my starter project at Google, I decided to access-enable this application using
W3C ARIA
. Using Greasemonkey, I could inject JavaScript code to add the needed ARIA bits to make Google Reader say the right things at the right time.
Connecting The Dots
Based on the experience of access-enabling Reader, we have now refactored the code to come up with a common JavaScript framework for enhancing the accessibility of AJAX applications. This framework is called
AxsJAX
, and it was refined in the process of access-enabling Web Search.
We're now excited to open-source this framework since we believe that there is nothing Google-specific in the techniques we have implemented. We invite the Web developer community to help us collectively define a robust framework for rapid prototyping of accessibility enhancements to Web 2.0 applications.
The ability to rapidly prototype end-user interaction has led to an explosion in the number of AJAX applications; until now, visually impaired users have been left behind in this process. We hope that the AxsJAX framework encourages the Web community to bring the power of Web 2.0 development to solving the problem of accessing rich Web interaction in an eyes-free environment.
Blogger GData JavaScript client library released with offline Blogger client example
Friday, October 19, 2007
By Dion Almaer, Google Developer Programs
Near the end of September we announced the
release of a new GData JavaScript client library
that allowed you to do full read-write access to Google Calendar from JavaScript.
We now have another service for you to have at. A
GData JavaScript client for Blogger has been released
, which means that you can now do richer mashups with blog content.
We sat down with Ryan Boyd and Pamela Fox to discuss the release and delved into some of the sample applications that have already been written. They
include
:
A tool that takes your upcoming Calendar entries and creates blog posts of the events
A code snippet that you can add to your website that enables visitors to your site to click on a link to comment on your content on their own blog
Code that allows you to search blogs on various topics, find entries, and again allow users to comment on their own blog
Pamela also worked on Blog.gears, a Blogger client that works offline using Google Gears. She took some time to take a peak at the architecture behind the application, and then walked us through the application itself.
If you have ever wished that you could do writable Blogger mashups without the need of proxy code on your own server, take a peak at the new client library, and listen in:
Joining the OpenAjax Alliance
Thursday, March 22, 2007
Posted by Bruce Johnson, Google Web Toolkit Team
We're excited to announce that Google recently joined the
OpenAjax Alliance
, an organization formed to promote open standards and interoperability for AJAX applications.
AJAX
plays an essential role in products like Gmail, Google Maps, and Google Calendar. Through AJAX APIs like the
Maps API
and
AJAX Search API
, we're trying to reduce the barriers for creating innovative web applications. Similarly, the goal of the
Google Web Toolkit
is to make it easier to write large-scale web applications in the Java environment of your choice, and then compile those applications to compact JavaScript that runs in any browser.
Joining the alliance is a way for us to continue promoting AJAX and innovative web programming, and we look forward to working with our industry colleagues.
Labels
.app
.dev
#AIY
#devfest18 #devfeststories #gdg #googledevelopers #developers #community
#freeandopen
#GooglePlay #AndroidDevStory #PlayStore #DeveloperConsole #StoreListingExperiments
#growwithgoogle
#io12
#io13
#io14
#io15
#io16
#io17
#io18
#io2012
#io2013
#io2014
+1
20% project
3d
3D face mesh
about.com
accelerator
accessibility
actions
actions on google
actionsongoogle
activity
Administrative APIs
AdMob
adobe
Ads
adsense
advanced
advogato
AdWords
africa
agency program
agpl
AI
AI Principles
AIY
AIY Projects
AIYProjects
ajax
ajax apis
ajax search
ajax search books news apis
all for good
amarok
AMP
AMP Cache
analytics
and Assistant
android
android developer certification
android developers
Android Development
Android Studio
Android Things
android wear
animation
Announcement
announcements
apache
api
API.AI
apis
apis console
apis explorer
apis. charts
app
app design
App dev
App Development
app engine
app indexing
app indexing api
App Invites
apple
Application Development
apps
apps script
AR
ARCore
area 120
artifact management
Artificial Intelligence
asia
assistant
atom publishing protocol
Audio
augmented faces
Augmented images
augmented reality
australia
Auth
authentication
authsub
automatic speech recognition
AutoML
awards
axsjax
barcodes
beacon
beacons
Belarus
bespin
best practices
beta
bigquery
bitcoin
Blockly
blogger
Bluetooth
book search
books API
bootcamp
braintree
Brazil
british english
Brotli
browser
Build Out
building ajax apps
BuildOut
Bulgaria
business
buzz
c++
Cache
caja
caldav
calendar
camino
campfire one
caption
cardboard
CardDAV
cast
Certification
certification award
channel
chinese
chrome
chrome apps
chrome dev summit
chrome devtools
chrome experiment
chrome extensions
chrome os
Chrome OS IO
Chrome OS IO19
chrome web store
chromecast
chromium
chronoscope
cifs
classes
classroom api
client libraries
closure tools
cloud
Cloud anchor
Cloud Anchors
cloud datastore
cloud functions for firebase
Cloud Next
cloud platform
cloud portability
cloud services
cloud sql
cloud storage
Cloud Study Jam
cms
coca cola
CocoaPods
code for educators
code jam
code review
code-in
codeedu
codelabs
coding
coffee with a googler
Colaboratory
collada
color
Colt McAnlis
commerce
community
community connectors
competition
Compilers
compression
compressorhead
computer science
computer vision
computing heritage
conference
conferences
contacts api
Containers
contest
contextual gadgets
conversation design
conversations
Coral
Core ML
couchdb
countdown to I/O 2012
courses
CPU
crash course
Crash Reporting
crashlytics
creative commons
cricket
crisis response
Croatia
cryptocurrency
cryptography
css
css3
custom search
custom search api
Czechia
danish linux forum
dart
Data Compression
Data Visualization
database
Databases
Dataset
Datasets
datastore
dataviz
Daydream
deprecation
Depth
design
devart
develop
developer
Developer Communities
Developer Culture
developer expert
developer features
Developer Keynote
developer relations
developer student clubs
developers
developers. meetup
Development
devfest
devfest developer chrome maps social wave apps
DevFest18
DevFestStories
DFP
dialogflow
differential privacy
discovery service
diversity
django
dns
do-it-yourself
Docker
docs
documentation
documents list api
dojo
domain
domains
doodles
dot net
doubleclick
dreamweaver
Drive
drupal
dsc
dynamic links
earn
earth
Ebay
eclipse
eclipsecon
eddystone
Edge TPU
Edge TPU Accelerator
Edge TPU Dev Board
educatio
education
email
EMEA
endpoints
enterprise
entrepreneurs
Estimator
Estimators
estonia
Ethics
Europe
event
events
evolution
execution api
extensions
Fabric
Fairness
fairness in machine learning
faster web
FCM
FCP
featured
feeds
finance
fintech
Firebase
Firebase Analytics
Firebase Cloud Messaging
Firebase Dynamic Links
firebug
firefox
firestore
firevox
firstbeta
fitness
flutter
Flutter 1.2
Flutter 1.5
Flutter 1.9
Flutter at IO
Flutter Clock
Flutter Create
Flutter for desktop
Flutter for web
Flutter Interact
Flutter Live
flutter release preview 1
flutter release preview 2
Follow Us
font api
Fonts
fosdem
freebsd
freenet
Fridaygram
fusion tables
G Suite
G+
gadgets
Game Developers Conference
games
gaming
gcc
gci
GCP
GDA
gdata
GDC17
GDD
gdd07
gdd08
gdd09
GDD11
GDE
gdg
gdl
gdl weekly
gears
geo
geolocation
geoserver
getpaid
ghop
git
github
GKE
gmail
Gmail APIs
GMTC
gnome
gnome women's summer outreach program
Go
golang
goo.gl
Google
Google AI
Google APIs
google apps
google apps api
google apps for your domain
google apps marketplace
Google AR
google assistant
Google Assistant Bluetooth
Google Assistant IO
Google Assistant IO19
google assistant sdk
Google Brain
google buzz
Google Cardboard
google cast
google certification
google chart api
google checkout
google chrome
Google Cloud
Google Cloud Messaging
Google Cloud Platform
google cloud storage
google code
google code project hosting
google code search
google code university
google compute engine
Google Coral
google data apis
google data protocol
Google Data Studio
google developer day
google developer days
Google Developer Groups
Google Developer Scholarship
google developers
Google Developers Academy
google developers certification
google developers community groups
Google Developers Groups
Google Developers Live
Google Developers site
Google Developers University Consortium
google docs
Google Docs API
google doctype
google domains
Google Drive
Google Drive SDK
google earth
google fit
Google Fonts
google for startups
google friend connect
google gadgets
google gears
google grants
Google Groups Settings
google health
Google Home Hub
Google I/O
Google Identity Platform
Google in Asia
google io
Google IOS Android
Google Maps
Google Maps Platform
google mashup editor
Google Noto fonts
google pay
google pay api
google photos
google platform
Google Play
Google Play Developer API
google play services
Google Registry
google scholarships
Google Science Fair
Google sheets
Google Sheets API
Google Slides
Google Slides API
google space
Google Spreadsheets API
google storage
google summer of code
Google tech talk
Google technology
google technoloy user groups
google tv
google visualization api
google wallet
Google Wave
google web elements
google web toolkit
google.org
google+
GoogleAssistant
googlecast
googledevelopers
googleio
googlenew
GooglePlay
googlewebelements googleio
GPE
GPGS C++ Games
GPT
green linux
Groups API
grow
grow with google
gsoc
GSuite
gtags
gtug
guest post
guice
gulp
GWSOP
gwt
gzip
hackathon
hacking
hackthon
hamilton
hangouts
Hangouts Chat
Hangouts Chat API
haproxy
Headset
hg
hibernate
howto
hpux
html
html5
http
I/O
I/O 17
I/O 2017
I/O Extended
I/O Live
ical
identity
ietf
ignite
igoogle
iguanas
iiw
Image Compression
image search
Imara
In-app billing
in-app payments
in-app purchase
incubator
India
indie
Indie Games Accelerator
information visualization
Instagram
intelligentwire
interactive music
internationalization
internet explorer
internet of things
internship
interviews
IO
IO17
io18
IO19
IO19 Flutter
IO2017
ios
iOS SDK
IoT
ipad
iphone
iPhone Development
israel
Issue Tracker
jaiku
japanese
java
javascript
jetpack
joomla
joomladayus2007
joomladayusa
json
karaoke
KDE
KDE 4.0
Keras
kernel
kernel summit
keynote
khronos
kids
kids coding
kids coding team
kml
korean
Krakow
Kubernetes
labs
lanchpad
language
languages
latam accelerator
LatAm startups
Latin America
latitude
latvia
launch
launchpad
launchpad accelerator
launchpad studio
lca
Leadership
Learning
lens
lessons
licenses
linux
linux foundation
linux summit
linux virtual server
linuxconf eu
lithuania
Local Home
localization
LoCo
london
mac
MacFuse
Machine
machine intelligence
machine learning
machine learning accelerator
maker
Makers
malware
maps
maps apis
Marketplace
material
material components
material design
MDL
MediaPipe
meetup
mercurial
Mexico startups
MIT CSAIL
MIT Media Lab
ml
ML Kit
MLCC
mobile
Mobile App Development
mobile design
Mobile Development
mobile performance
mobile sites
mobile speed
mobile UX
Mobile web
Mobile World Congress
mod_pagespeed
Moderator
monetize
MOOC
mozilla
multi-platform
mylar
myspace
MySQL
mythtv
named
narratives
native ads
native client
nearby
netbsd
Next Billion Users
non-profit
nonsense
nosql
notifications
Noto Serif CJK
nss
nvidia
NYT
O3D
oauth
OAuth playground
OAuth2
Object Detection and Tracking
objective-c
OCaml
Occlusion
ocr
ODF
office hours
oha
online payments
OOXML
open data
open source
open source blog
open source releases
open web
open-source
openajax alliance
opengl
openid
opensocial
openssh
openssl
Optimization
oreilly
orkut
oscon
oscon2007
osi
oss devs
ossjam
osx
pactester
page speed
PageSpeed
palette
payment handler
payment request api
payment web standard
payments
paypal
Peer bonus program
performance
persistent AR
phone
photos
picasa
picasa web
places API
play services
playground
plone
plone sprint
podcast
poland
Poly
polymer
Polymer Summit
portugal
posix
PowerMeter API
prediction api
Prerender
preview
privacy
prizes
processing
programmers
programming
Progressive Web App
Project Connected Home over IP
project hosting
Project Loon
Project Tango
prototype
proximity
pubsubhubbub
PWA
py3k
python
python sprint
Qualcomm
Qualcomm Google
rails
random hacks of kindness
Rasberry Pi
reader
releases
Remote Config
research
reserve seats
Responsible AI
result snippets
Reto Meier
Rewarded Ads
Rewarded Video Ads
rhino
Saatchi
Safety & Security
safety and security
salesforce
samba
Sample dialogs
sandbox
Santa Tracker
scalability
scale-ups
Sceneform
schedule
scholarship
scholarships
scopes
Scratch
screencast
sdk
sdks
search
security
Serbia
serif
service worker
sessions
seurat
shape
Sheets API
shindig
shopping
Shoreline Amphitheatre
shortcuts
showcase
sidewiki
sign-in
silverstripe
SIMD
sitemaps
sites api
sixapart
sketchup
Slides API
small business
small businesses
Smart Home
Smart Lock for Passwords
soap search api
soc
social
social graph
solaris
solutions challenge
souders
spa2007
Space
spdy
speakers
speech
speed
speed tracer
Stable release
standards
startup
Startup accelerator
startup africa roadtrip
startups
STEM
storage
Street View
Strobe
student programs
students
stuff
style
subscribed links
subscription
subversion
summer of code
Sundar Pichai
SVG
sxsw
syndication
tasks API
Team Drives (new)
techmakers
templates
TensorFlow
tensorflow dev summit
TensorFlow Lite
TensorFlow Research Cloud
tensorRT
Test Lab
testing
text embedding models
TF Lite
tfdevsummit
TFLite
themes
thought leadership
tool
Toolkit
tools
topp
TPU
training
Traits
tranparency
transit
translate
translation
tutorials
tv
ubiquitous computing
ubiquity
ubucon
ubuntu
Udacity
UI
Ukraine
unicode
unit test
Unity
universal
Universal App Campaigns
University
unix
url
url shortener
URLs
UX
verification
video
videos
Vim
virtual keyboard
virtual reality
visualization
voice
voice kit
voice user interface
VR
VUI
wattpad
Wearables
Weave
web
web animations api
web apps
web components
web design
web designer
web development
web exponents
web fonts
web performance
web platform docs
web registry
webfonts
webgl
webmaster
WebP
website optimizer
websites
webVR
weekly roundup
WhiteHouse.gov
Who's at Google I/O
win
windows
windows programming
Winter of Code
Women in Tech
Women Tech Makers
women techmakers
WomenTechmakers
writing
wtm
xauth
yahoo
young developers
Young Makers
youtube
zlib
zurich
ZXing
Archive
2019
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2018
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2017
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2016
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2015
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
2014
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2013
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2012
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2011
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2010
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2009
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2008
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2007
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2006
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2005
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Subscribe
Follow @googledevs
Visit
Google Developers
for docs, event info, and more.