Blog of our latest news, updates, and stories for developers
To the Google developer community, 2012’s a wrap
Saturday, December 22, 2012
By Phoebe Peronto, Developer Marketing
‘Tis the season to reflect on all that
you
have done this year: developers and other friends in the Google Developer community. From a
Gangnam style-inspired app
, to growing the GDG community beyond 330 active chapters, let’s just say that 2012 has been nothing short of amazing.
You have...
...helped
Google I/O 2012
reach more than 13,000 developers by hosting over 50
I/O Extended
events
all
over
the
world
. Looking forward to
Google I/O 2013
!
...hosted a massive
DevFest season
, with 75 DevFests conducted in only 3 short months. During the season, these events reached over 14,000 developers in 39 countries worldwide.
...grown the GDG community to an astounding
335 active and incubating chapters
in over 90 countries.
...attended dozens of
Google+ Hangouts
on
Google Developers Live
to learn more about how to make cool apps with Google tools and technologies.
...
made
countless
great
apps
at DevFest hackathons.
Here’s to a great year
, and many more to come!
Want to learn more? Find your
nearest GDG chapter
to get involved in local events, and connect with Google developers 24/7/365 on
Google Developers Live
and
+Google Developers
.
Phoebe Peronto is on the Google Developer Product Marketing team. Her mission is to make developer magic by sharing Google tools, technologies, and programs with the community to make super cool apps. She's also a foodie, globetrotter, and avid runner.
Posted by
Scott Knaster
, Editor
No WebView required, with native YouTube Player API for Android
Friday, December 21, 2012
By Scott Knaster, Google Developers Blog Editor
This post is abridged and cross-posted from the
YouTube API Blog
.
Adding a high-quality video experience to your Android application just got a whole lot easier. Starting today, you can embed and play YouTube videos in your app using the new
YouTube Android Player API
.
The API, which was
pre-announced
at Google I/O 2012, offers these benefits:
High-quality video playback supported on Android 2.2 (Froyo) or newer.
Easy integration
with your Android application (no
WebView
required).
Fullscreen
and orientation change support.
Closed captions
display.
Support for YouTube ads.
Programmatic access, similar to existing
Player APIs
, to most aspects of the
YouTube video playback experience
.
Integration with the Android YouTube app using a standard set of YouTube
Intents
.
We are launching the API as
experimental
, although we do not expect major interface changes going forward.
The only limit now is your imagination (and
ToS
)
These
instructions
explain how to include the API client library in your Android application. The library is supported on Android devices running version
4.2.16
or newer of the Android YouTube app. By including the library in your project, you can create rich video playback experiences through the ability to control and customize the video player.
Flipboard
, shown below, is a good example. See the
full post
for more cool app examples.
Flipboard
Learn more
If you would like to learn more about the YouTube Android Player API, read the full
post on The YouTube API Blog
. The post features several companies already using the API and contains useful links to source code examples and documentation. Alternatively, get started by watching some of the videos from our YouTube Android Player API
playlist
.
Scott Knaster
is the Editor of Google Developers Blog. His programming books have been translated into several languages, including Japanese and Pascal.
New mod_pagespeed: cache advances, progressive JPEGs
Wednesday, December 19, 2012
Bharath
Jan-Willem
Joshua
By Joshua Marantz, Jan-Willem Maessen, and Bharath Bhushan, PageSpeed Team
When mod_pagespeed launched in November 2010, one of its benefits was to help websites better
exploit browser caching
by signing URLs with the resource content hash. This improves the user experience coming back to the same site, and navigating within a site.
In mod_pagespeed 1.2 we have released two new features that improve the caching experience for users coming to a site for the first time:
canonicalize_javascript_libraries
and
insert_dns_prefetch
. For additional speedups, converting jpegs to progressive format has been added to the Core Filter Set, and the scope of optimization has been extended to include resources served by external servers, even if they are not running mod_pagespeed.
Your web page loads faster when JQuery is preloaded in users' browser
Numerous web sites use common JavaScript libraries such as jQuery and jQuery UI. But when one library is stored on many sites, browsers end up re-downloading that library for each new site – a waste of time and bandwidth. The new
canonicalize_javascript_libraries
filter in mod_pagespeed finds such libraries on your site and replaces them with links to the equivalent libraries on
ajax.googleapis.com
. With the optimization, a browser will notice that your site is requesting the library from the same shared library provider as a previous site it visited, and will use the copy in its cache.
It’s possible to do this by hand, but there are a number of reasons why you might prefer to automate the process. Most important is that you may be using third-party code on your web sites that includes some of these libraries. Using
canonicalize_javascript_libraries
lets you replace these with hosted versions without having to touch third-party code. It also lets you use local, un-minified JavaScript source code for these libraries while you are debugging your site, and then transition automatically to using minified hosted code when you deploy. The filter spots external libraries using a hash signature; we’ve added a new configuration file, pagespeed_libraries.conf, that stores these signatures, so that you can upgrade the signature configuration without disrupting the rest of your apache installation.
Resolving DNS entries early for critical assets saves hundreds of milliseconds
DNS resolution time varies from <1ms for locally cached results, to hundreds of milliseconds due to the cascading nature of DNS. This can contribute significantly to total page load time. Below is a WebPagetest waterfall showing how DNS lookup time can affect page load time.
The new
insert_dns_prefetch
filter inserts
<link rel="dns-prefetch">
tags to allow the browser to pre-resolve DNS for resources on the page. The waterfall below shows the improvement after inserting the hints.
<link rel="dns-prefetch">
is supported on
Chrome
,
Firefox
and
Internet Explorer
.
Improved performance by optimizing external resources and progressive JPEG
In addition to these new capabilities, mod_pagespeed 1.2 can
proxy and optimize resources from trusted domains
. This feature enables you to optimize resources even from servers that don't run mod_pagespeed. Beyond compressing and cache-extending such resources, this can improve performance of sites running SPDY where the best practices for performance are to serve all resources from the same domain (see
mod_spdy
).
Further,
convert_jpeg_to_progressive
is now a ‘core’ filter. Large JPEG images are now transcoded to progressive. This both improves the browser experience and makes such files smaller.
To see more details about the release, check out the
release notes
and
mod_pagespeed download
page.
Joshua Marantz
runs Google’s PageSpeed team in Cambridge, MA, which is dedicated to making the web faster for everyone. Josh has been working on making software run fast for several decades, at Google and before that on accelerated chip simulation.
Jan Maessen wrote the earliest version of the image and JavaScript filters in mod_pagespeed and has been with the team ever since. Before joining Google, he was a co-designer and library implementer for the Fortress programming language.
Bharath Bhushan works on making website performance better. He has a Masters in CS from IIT Madras, India.
Posted by
Scott Knaster
, Editor
Putting Zürich before Århus
Wednesday, December 19, 2012
By Mark Davis, International Software Architect
Until now, it has been very difficult for web application designers to do something as simple as sort names correctly according to the user's language. And it matters: English readers wouldn’t expect Århus to sort below Zürich, but Danish speakers would.
Because linguistic sorting requires a sophisticated algorithm and lots of data, it was impractical to do this natively in JavaScript. Until now, the only full solution for sorting on the client side was to generate on a server a sortKey for every string that needed to be sorted, and send the sortkeys — base64-encoded — down to the client along with the strings. Pretty ugly! And what’s doubly frustrating is that the underlying operating systems have all been able to handle this, whether through
International Components for Unicode (ICU)
or Windows APIs.
The new internationalization specification for ECMAScript (the “official” name for JavaScript) changes this picture. It is already in the production version of Chrome, and is on track for other major browsers.
Linguistic sorting is not the only benefit—not only will users be able to see names sorted correctly, but also correct numeric values (“1,234.56” in English, but “1.234,56” in German), dates (“March 10, 2012” vs “10. März 2012”), and so on. While the results might not be precisely the same in every browser, they should be appropriate to the language, and are returned using a uniform API.
On any enabled browser — in its supported languages — web application developers can:
compare strings correctly:
choosing whether or not to ignore accents, case differences, etc.
format numbers correctly:
choosing decimal places, currencies, whether to use thousands-separator, etc.
format dates and times correctly:
choosing decimal places, numeric vs named months, etc.
match locales:
comparing the user’s desired locales (say Arabic and French) against the supported locales (say French, German, and English), to get the best match.
The API also allows for linguistic support in offline web applications, which wasn’t practical before. It builds on the industry standards
BCP47
(for identifying languages and locales) and
LDML
(part of the
Unicode Common Locale Data Repository (CLDR) project
). For the gory details of the spec, see
ECMA-402: ECMAScript Internationalization API Specification
(just approved by the Ecma General Assembly).
Mark Davis
is president and cofounder of the Unicode consortium, and founder of ICU and CLDR. Mark is fond of food, film, travel, and RPGs. Mark lived for 4 years in Switzerland, and is moving back in February.
Posted by
Scott Knaster
, Editor
The simpler, yet more powerful new YouTube Data API
Tuesday, December 18, 2012
Pepijn
Vlad
Raul
By Raul Furnică, Tech Lead; Vladimir Vuskovic, Product Manager; and Pepijn Crouzen, Software Engineer, YouTube API Team
This post is abridged and cross-posted from the
YouTube API Blog
.
Since its initial
launch
in 2007, the YouTube Data API has become one of Google’s most popular APIs by request volume, thanks to the
awesome apps
from developers like you. To help you make better integrated video experiences, you can now use the YouTube API
version 3.0
. The new API is easy to use thanks to rich client library support, improved tooling, reference documentation and integration with Google’s common API infrastructure. Version 3.0 only returns what you ask for and uses JSON rather than XML encoding for greater efficiency. The API introduces new core functionality including
Freebase
integration via topics, and universal search. If you develop social media management apps, you’ll love channel bulletin post and full subscriber list management, also new in this release. Version 3.0 of the API constitutes the API's biggest overhaul to date and we’re eager for you to
try it today
!
New functionality: Topics, universal search, and audience engagement support
Have you ever tried to search for YouTube videos only to find out that keyword search can produce ambiguous results? With the new Topics API, thanks to the power of
Freebase
, you can find exactly what you’re looking for by specifying Freebase topic IDs rather than search keywords.
For example, if you’re reading this post from outside of the US and you would like to search for content related to football,
/m/02vx4
is probably the topic ID you're after. The API's
universal search
feature lets you retrieve channels, playlists and videos matching the topic with just one request like
this one
. Find out more in our Topics API Guide.
Version 3.0 introduces better tools to engage and interact with your YouTube audience. Social media management apps can now help content creators communicate with their
channel subscribers
using bulletin
posts
.
Learn more
If you would like to learn more about the YouTube API version 3.0, read the full
post on The YouTube API Blog
. The post covers efficiency improvements, features several companies already using version 3.0 and contains useful links to source code examples and documentation. Alternatively, feel free to get started by watching some of the videos from our YouTube API version 3
playlist
.
Raul Furnică is the YouTube API Tech Lead, based in Zürich. He is a believer that API interfaces should be optimized for ease of use, not server implementation.
Vladimir Vuskovic is a Product Manager at Google, and manages YouTube APIs and uploads. He got his Ph.D. from the robotics institute at ETH Zurich.
Pepijn Crouzen is a Software Engineer on the YouTube API Team and he is based in Paris.
Posted by
Scott Knaster
, Editor
Women Techmakers for social good
Tuesday, December 18, 2012
By Phoebe Peronto, Developer Marketing
Last week on
GDL Presents: Women Techmakers
, we kicked off the series kicked off with a tour of the
Kiva
API from Chairwoman Julie Hanna, then followed with
Code for America
’s Jennifer Pahlka explaining her "Peace Corps for Geeks" and solving civic problems with technology. Sasha Laundy of
Codecademy
introduced us to scalable ways to teach the world to code, and the series culminated with Kim Polese – the first Product Manager for Java – sharing the value of open source technology for making innovation universally accessible.
Our latest group of Women Techmakers are using tech to drive real social change and we thank them for joining us. Read on for video highlights and news of #WTM’s global launch!
Last week: series highlights
Women Techmakers Give Back with Kiva.org
Kiva.org
chairwoman and technologist Julie Hanna walk us through a data visualization of Kiva’s global impact.
Women Techmakers Give Back with Code for America
Founder Jennifer Pahlka talks
Code for America
’s latest civic startups and her "Peace Corps for Geeks".
Women Techmakers Give Back with Codecademy
Codecademy
’s Sasha Laundy introduces us to the easiest way to learn to code.
Women Techmakers Give Back with ClearStreet, Java
ClearStreet CEO and first Java Product Manager at Sun, Kim Polese, talks being a serial entrepreneur and maturing with a company to be an effective CEO.
This Week: We’re going global
Check out our latest interviews with women techmakers from Israel:
Thursday, 12/20
: Women Techmakers & Rony Ross of Panorama Software | 2:30 pm PST | 22:30 UTC |
Watch live
|
Add to calendar
Rony Ross is the Founder, Executive Chairman and Chief Technology Officer of Panorama Software Ltd. Join hosts Daniela Raijman-Aharonov, Engineering Manager and Software Engineer in Google Technical Infrastructure, and Michal Segalov, Software Engineer in Infrastructure, as they discuss Ross’ role in expanding Panorama’s global presence, once the leading developer and marketer of software products for OLAP and BI in the Israeli market.
Thursday, 12/20
: Women Techmakers & Yael Karov of
Ginger Software
| 3:30 pm PST | 23:30 UTC |
Watch live
|
Add to calendar
Yael Karov is the Founder and CEO of Ginger Software, a service built from Karov’s 20+ years of experience in the field of natural language processing and machine learning that helps users improve their online English language communication. Michal Segalov, Software Engineer in Google Technical Infrastructure, and Dana Gabel, Software Engineer in Google Identity & Knowledge, host Karov in the studio to talk about her successful track record in the commercial launch of innovative products to market.
Watch anytime, anywhere
Didn’t get a chance to tune in live? No worries. All of these sessions, plus the first WTM series are available at our
new WTM home
.
We’re taking techmaker nominations. Share with
+Google Developers
and
@googledevs
who you’d like to see on the next Women Techmakers series. Use hashtag (#WTM) and +mention your favorite maker women.
Phoebe Peronto is an Associate Product Marketing Manager on the Developer Marketing team here at Google. She’s a foodie who has a penchant for traveling, politics, and running. Oh, and of course...Go Cal Bears!
Posted by
Scott Knaster
, Editor
Fridaygram: Lady Ada Lovelace, evolving limbs, ancient labyrinth
Friday, December 14, 2012
By Scott Knaster,
Google Developers Blog
Editor
This week we celebrated the 197th birthday of computing pioneer
Lady Ada Lovelace
with a nifty
Google Doodle
. Among other accomplishments, Ada is credited with publishing the
world's first algorithm
for use with
Charles Babbage’s Analytical Engine
.
Coincidentally, also this week we launched the latest episodes in our
Women Techmakers
series on
Google Developers Live
. We're highlighting women who are making big social impacts through their innovations in tech. Please check it out.
In other areas of science this week, researchers in Spain used zebra fish to test an idea about
limbs evolving from fins
. The scientists ramped up the activity of a particular gene, which caused the fish to produce rudimentary limbs instead of fins. This might be an evolutionary clue about where our own arms and legs came from.
Finally, it looks like the mystery of line drawings in the Peruvian desert has been solved, according to Clive Ruggles, who is an archaeoastronomer (which might be the coolest job title ever) and archaeologist Nicholas Saunders.
Ruggles says the drawings are a labyrinth
, and "This labyrinth was meant to be walked, not seen". Well said, and in that spirit, we hope you get out and take a walk of your own this weekend, even if you don’t have an awesome ancient labyrinth nearby.
Each Friday
on this blog we skip our usual developer topics and offer interesting (we hope) stuff that’s not directly related to writing code.
App Engine 1.7.4 released
Thursday, December 13, 2012
By the Google App Engine Team
Cross-posted from the
Google App Engine Blog
The Google App Engine team has been busy putting together our final release of 2012. This release includes a number of features graduating from Experimental status as well as the usual batch of bug fixes and improvements. We’ll be taking a short break from our monthly release cycle over the holidays, but we’ll be back to our normal schedule starting in February.
Expanded EU Support
We’re happy to announce that we are expanding European Union datacenter support, based on positive feedback from early users. You can sign up
here
. Please note, deployment is currently limited to
billing-enabled applications
.
We understand that data locality and latency are important to developers and are committed to further expanding this support in the coming months.
Java
We've made a new
Maven
plugin available, added the source to the SDK for easier IDE debugging, and made significant performance improvements to the JSP compilation process
.
Please see our Java
release notes
for more information.
Python
We’ve made a big push to bring a number of new features to GA, upgraded the interpreter to version 2.7.3, and added several new experimental features
.
For more details, please see our Python
release notes
.
New and Upgraded Features
We also have a handful of notable features in this release:
Task Queue statistics (General Availability):
You can see statistics such as the current number of tasks in a queue, the number of tasks executed in the last hour, and more.
Traffic splitting (General Availability):
You can split requests amongst different versions of your app.
LogsReader and Logs API (General Availability):
You can now fetch requests based on a list of request IDs.
Expanded Datastore query support (Experimental):
We’ve added ‘DISTINCT’ support to Datastore queries.
Full release notes and Google Cloud Platform newsletter
The complete list of features and a list of bug fixes for 1.7.4 can be found in our
release notes
. For App Engine coding questions and answers check us out on
Stack Overflow
, and for general discussion and feedback, find us on our
Google Group
.
Finally, to stay up to date with Google Cloud Platform,
sign up
for our newsletter where you’ll get the latest news, announcements and event information.
Written by the Google App Engine Team.
Posted by
Scott Knaster
, Editor
Women Techmakers give back
Monday, December 10, 2012
By Phoebe Peronto, Developer Marketing
Our
Women Techmakers
series is back for round two on
Google Developers Live
(GDL)! In the spirit of the holidays, hosts Megan Smith of Google[x], Lacy Caruthers (
Google Giving
), Angela Lin (
YouTube EDU
), and Pavni Diwanji (
Google+
), sit down with women who are using their technical backgrounds to effect social change and make an impact. Join us in-studio Tuesday through Friday of this week at 2:30 pm PST to learn more about how Women Techmakers are giving back in big ways.
Tuesday, 12/11
: WTM & Julie Hanna - Chairwoman,
Kiva.org
| 2:30 pm PST | 22:30 UTC |
Watch live
|
Add to calendar
As a repeat entrepreneur, chairwoman of
Kiva
, startup and venture advisor, and angel investor, Julie Hanna knows about giving back. Her work at Kiva, a crowdfunding pioneer leading the micro-lending marketplace, has been integral in touching over 800,000 low-income entrepreneurs in over 60 countries, adding up to more than $350M loans delivered. Radhika Malpani and Anita Yuen of
Google.org
dive into Julie’s experience using her technical skills to make social change.
Wednesday, 12/12
: WTM & Jennifer Pahlka -
Code for America
| 2:30 pm PST | 22:30 UTC |
Watch live
|
Add to calendar
Code for America
is a new kind of public service. Join hosts Chris DiBona and Lacy Caruthers in the GDL studio, as they sit down with Code for America founder and executive director Jennifer Pahlka to discuss how she is working on the technical side with web professionals and cities nationwide to promote public service and reboot government.
Thursday, 12/13
: WTM & Sasha Laundy -
Codecademy
| 2:30 pm PST | 22:30 UTC |
Watch live
|
Add to calendar
Codecademy
makes learning code easy and collaborative. From Women Who Code and Codecademy, Sasha Laundy joins Bridgette Sexton of
Google Ventures
and Angela Lin for a discussion of how Codecademy makes learning code interactive, iterative, and fun. More minds are better than one!
Friday, 12/14
: WTM & Kim Polese -
ClearStreet Inc.
, Sun Microsystems | 2:30 pm PST | 22:30 UTC |
Watch live
|
Add to calendar
ClearStreet Inc.
, a social finance startup, is focused on helping people eliminate debt and achieve long-term financial health. Chairwoman and original Java Project Manager at Sun, Kim Polese, speaks with Megan Smith and Pavni Diwanji about her experience as a leading Silicon Valley entrepreneur and technology executive, and how her work with ClearStreet is impacting users’ daily lives.
Catch up on the
first WTM series
while you're getting ready for this week's lineup. Visit the
Google+ events to RSVP
, add the episodes to your Google calendar, tune in live on
GDL
, and
ask questions
of our on-air guests. And, most importantly, become part of the conversation by hashtagging #WTM posts on Google+.
Watch Women Techmakers any time by visiting us at
our new home
. Tune in live, view archived episodes, and check out upcoming content.
Phoebe Peronto is an Associate Product Marketing Manager on the Developer Marketing team here at Google. She’s a foodie who has a penchant for traveling, politics, and running. Oh, and of course...Go Cal Bears!
Posted by
Scott Knaster
, Editor
Fridaygram: Global Impact, lunar mapping, transforming robot
Friday, December 7, 2012
By Scott Knaster,
Google Developers Blog
Editor
This week
Google Giving
launched the
Global Impact Awards
, to recognize and reward achievements that use technology to improve people’s lives. The awards go to groups that have already accomplished dramatic results and provide continued funding so they can keep changing the world by providing clean water, protecting endangered species, and doing other wonderful things.
If you want to find out more about the Global Impact Awards, visit
the home page
, or learn about the other
grant programs of Google Giving
.
Meanwhile, near the moon, scientists have published the
first mapping images
from the tandem spacecraft
Ebb and Flow
, which reached lunar orbit about a year ago. This program, called GRAIL (Gravity Recovery and Interior Laboratory), uses the two spacecraft to study lunar features in great detail, providing unprecedented information about Earth’s moon. So far, the data shows craters, peaks, and volcanic formations, but no huge surprises like giant alien transformer robots.
Speaking of transformer robots,
here’s one you can enjoy on video
. Sure, it’s neither giant nor alien, but it’s still very cool, don’t you think? Have a great weekend!
On Fridays we depart from our usual developer topics and post a
Fridaygram
, which features interesting nerdy stuff for fun and knowledge. This week we acknowledge Walt Disney’s eleventy-first birthday, and the happy news that his creation
Oswald the Lucky Rabbit
will
finally get a voice
after 85 years of silence.
Google HackFair in South Korea
Wednesday, December 5, 2012
By Soonson Kwon, Developer Relations Program Manager
For developers and engineers, the best way to learn something is to get your hands dirty and try making something. That is why Google hosts many hackathons around the world. Last November 17 and 18, we had a bigger experiment at Gangnam (yes, this is the very Gangnam in
Gangnam Style
!) in Seoul, South Korea which expanded a 1-2 day hackathon into a much longer one which we called Google HackFair.
The idea was to give developers enough time (2 months) to develop something bigger and provide a nice chance to showcase their projects. 153 developers submitted 92 projects, and 40 projects were chosen from among them and displayed. Developers used many different technologies, including Android, Chrome, App Engine, and HTML5, and they completed creative and interesting projects:
a remote controlled car guided by Android, a serial terminal for Chrome, a braille printer using Go, and many more
!
Besides the exhibition, we also prepared a mini-conference and GDG (Google Developers Group) booth where Googlers and community developers gave 27 sessions in total.
More than 1000 people attended and enjoyed the Google HackFair. Although the event is finished, developers continue updating and polishing their projects. It was a great time indeed.
If you are interested in details for the projects including full demos or source code, please check
here
.
Soonson Kwon
is Developer Relations Program Manager and Country Lead for South Korea. His mission is to help Korean developers make better use of Google’s developer products. He is also passionate about Open Source.
Posted by
Scott Knaster
, Editor
GDL Presents: Keeping the Internet Free & Open
Monday, December 3, 2012
By Derek Slater, Policy Manager
More than 2 billion people around the world use the web to discover, work, share, and communicate. This week,
Google Developers Live
Presents
will host a series on Internet regulation and the future of our web. Airing Tuesday through Thursday at 3:30pm PST (23:30 UTC), technical, entrepreneurial, and policy experts weigh in on the economic and social impact of the Internet, as well as its future if we don’t take action.
Visit the
Google+ events
to RSVP, add the episodes to your Google calendar, tune in live on
GDL
, and
ask questions
of our on-air guests. And, most importantly,
raise your voice for a free and open web
.
Tuesday
: The State of Our Web | 3:30 pm PST | 23:30 UTC | Featuring
M-Lab
and the
Transparency Report
|
Watch live
|
Add to calendar
How can you tell if an application is being throttled? What are the trends in governments seeking access to users' data? Minds behind M-Lab and the Transparency report – two projects trying to empower Internet users with data about the state of the Internet – join us in-studio.
Wednesday
: Entrepreneurs on the #freeandopen web | 3:30 pm PST | 23:30 UTC | Featuring
Google for Entrepreneurs
and
Engine Advocacy
|
Watch live
|
Add to calendar
Google for Entrepreneurs
is helping startups around the world and
Engine Advocacy
is the startup voice in government. Learn more about what they’ve picked up along the way about the culture of successful communities of entrepreneurs, and policies on the table that may impact them.
Thursday
: Internet Freedom and the ITU | 3:30 pm PST | 23:30 UTC | Featuring
Access Now
,
Association for Progressive Communications
,
Centro de Technologia e Sociedade
(Brazil),
Fundacion Karisma
(Colombia),
Derechos Digitales
(Chile) |
Watch live
|
Add to calendar
This week, the world's governments are gathering in Dubai to discuss the future of the Internet. Some governments want to use this meeting to increase censorship and regulate the Internet. Hear from five leading advocacy groups from around the world about what’s at stake.
Connect with us at
developers.google.com/live
. Tune in to live programming, check out the latest in Google tools and technologies, and learn how to make great apps.
Derek Slater
defends the open Internet on Google's public policy team. He supports the company's global advocacy efforts on innovation policy, and recently helped launch
google.com/takeaction
.
Posted by
Scott Knaster
, Editor
Labels
.app
.dev
#30DaysOfFlutter
#AIY
#CSEdWeek
#devfest18 #devfeststories #gdg #googledevelopers #developers #community
#freeandopen
#GDC20
#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
Access
accessibility
Account Linking
actions
Actions Builder
Actions console
actions on google
Actions SDK
actionsongoogle
activity
Administrative APIs
AdMob
adobe
Adobe Creative Cloud
Adobe Creative Cloud Libraries
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
Alfred Camera
all for good
amarok
AMP
AMP Cache
analytics
and Assistant
android
Android App Development
Android Developer
android developer certification
android developers
Android Development
Android Studio
Android Things
Android Tools
Android TV
android wear
android11
androidstudio
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
Black Consciousness Day
Blockly
blogger
Bluetooth
book search
books API
bootcamp
braintree
Brazil
british english
Brotli
browser
Build Out
building ajax apps
BuildOut
Bulgaria
business
business console
buzz
c++
Cache
caja
caldav
calendar
camino
campfire one
caption
cardboard
CardDAV
cast
Cast Connect
celebrating
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
Chromebooks
chromecast
chromium
chronoscope
cifs
classes
classroom api
client libraries
closure tools
cloud
Cloud anchor
Cloud Anchors
Cloud Computing
cloud datastore
Cloud Functions
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
compatibility
competition
Compilers
compression
compressorhead
computer science
Computer Science Education Week
computer vision
computing heritage
conference
conferences
Console
contacts api
Containers
contest
contextual gadgets
conversation design
conversations
Coral
Coral updates
Core ML
couchdb
countdown to I/O 2012
country support
courses
COVID
COVID-19
COVID19DetectProtect
CPU
crash course
Crash Reporting
crashlytics
creative commons
cricket
crisis response
Croatia
Crostini
cryptocurrency
cryptography
css
css3
Custom Elements
custom search
custom search api
Czechia
DA
danish linux forum
dart
Data Compression
Data science
Data Visualization
database
Databases
Dataset
Datasets
datastore
dataviz
Daydream
deprecation
Depth
design
desktop
desktop apps
Dev Tools
devart
develop
developer
Developer Advocate
Developer Communities
Developer Culture
developer expert
developer features
Developer Keynote
Developer Preview
developer relations
developer student clubs
developers
developers. meetup
Development
devfest
devfest developer chrome maps social wave apps
DevFest18
DevFestStories
Device
DFP
Dia da Consciência Negra
dialogflow
differential privacy
discovery service
diversity
diversity-and-inclusion
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 AI
Edge TPU
Edge TPU Accelerator
Edge TPU Dev Board
educatio
education
email
EMEA
endpoints
enterprise
Entity Extraction
entrepreneurs
Error logging
Estimator
Estimators
estonia
Ethics
Europe
event
events
evolution
execution api
extensions
Fabric
face detection
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
founders
freebsd
freenet
Fridaygram
fusion tables
G Suite
G Suite Developer
G+
gadgets
Game Developers Conference
games
gaming
gcc
gci
GCP
GDA
gdata
GDC 2020
GDC17
GDD
gdd07
gdd08
gdd09
GDD11
GDE
gdg
gdl
gdl weekly
gears
geo
geolocation
geoserver
GET
getpaid
ghop
Gigster
git
github
GKE
Glass
gmail
Gmail Add-on
Gmail API
Gmail APIs
GMTC
gnome
gnome women's summer outreach program
Go
golang
goo.gl
Google
Google AI
Google Analytics
Google APIs
google apps
google apps api
google apps for your domain
google apps marketplace
Google AR
google assistant
Google Assistant Bluetooth
Google Assistant Developer Day
Google Assistant IO
Google Assistant IO19
google assistant sdk
Google Brain
google buzz
Google Cardboard
google cast
google certification
google chart api
Google Charts
google checkout
google chrome
Google Cloud
Google Cloud Messaging
Google Cloud Platform
google cloud storage
Google Cloud Talks
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 Experts
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 Add-on
Google Docs API
google doctype
google domains
Google Drive
Google Drive SDK
google earth
google fit
Google Fonts
Google For Games
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 account
google pay api
google pay business
Google Pay Developers
Google Pay India
google pay integration
google pay support
google photos
google platform
Google Play
Google Play Developer API
google play services
Google Registry
google scholarships
Google Science Fair
Google sheets
Google Sheets Add-on
Google Sheets API
Google Slides
Google Slides Add-on
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 Workspace
Google Workspace Add-ons
Google Workspace Developer
google.org
google+
GoogleAssistant
googlecast
googledevelopers
googleio
googlenew
GooglePlay
GooglePlay AndroidDev
googlewebelements googleio
GPE
GPGS C++ Games
GPT
Gradle
green linux
Groovy
Groups API
grow
grow with google
gsoc
GSuite
gtags
gtug
guest post
guice
gulp
GWSOP
gwt
gzip
hackathon
hacking
hackthon
hamilton
Handwriting
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
ICYMI
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
integration status
intelligentwire
interactive music
International Women’s Day
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
IWD 2020
jaiku
japanese
java
javascript
jetpack
joomla
joomladayus2007
joomladayusa
JS
json
karaoke
KDE
KDE 4.0
Keras
kernel
kernel summit
keynote
khronos
kids
kids coding
kids coding team
kml
korean
Kotlin
Krakow
Kubernetes
labs
lanchpad
language
languages
laptop apps
laptops
latam accelerator
LatAm startups
Latest
Latin America
latitude
latvia
launch
launchpad
launchpad accelerator
launchpad studio
LaunchShow
lca
Leadership
Learning
lens
lessons
licenses
linux
linux foundation
Linux on Chrome OS
Linux on Chromebooks
linux summit
linux virtual server
linuxconf eu
lithuania
Local Home
Local Home SDK
localization
Location
LoCo
Logging
london
mac
MacFuse
Machine
machine intelligence
machine learning
machine learning accelerator
Mainframe Migration
maker
Makers
malware
maps
maps apis
Marketplace
material
material components
material design
MDL
MediaPipe
meetup
mercurial
Mexico startups
Micronaut
Microservices
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
Monthly roundup
MOOC
mozilla
multi-platform
mylar
myspace
MySQL
mythtv
named
narratives
native ads
native client
nearby
Nest
Nest WiFi
netbsd
Next Billion Users
non-profit
nonsense
nosql
notifications
Noto Serif CJK
NPM
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
persistence
persistent AR
phone
photos
picasa
picasa web
places API
play services
playground
plone
plone sprint
podcast
poland
Poly
polymer
Polymer Summit
portugal
Pose Detection
Pose Estimation
posix
POST
PowerMeter API
prediction api
Prerender
preview
privacy
prizes
processing
production access
products - slides
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
React
reader
releases
Remote Config
research
reserve seats
Resources
Responsible AI
REST
result snippets
Reto Meier
review process
Rewarded Ads
Rewarded Video Ads
rhino
Saatchi
Safety & Security
safety and security
salesforce
samba
Sample dialogs
sandbox
Santa Tracker
Scala
scalability
scale-ups
Sceneform
schedule
scholarship
scholarships
scopes
Scratch
screencast
sdk
sdks
search
security
Selfie Segmentation
Serbia
serif
Serverless
service worker
sessions
seurat
shape
Sheets
Sheets API
shindig
shopping
Shoreline Amphitheatre
shortcuts
showcase
sidewiki
sign-in
silverstripe
SIMD
sitemaps
sites api
sixapart
sketchup
Slides API
small business
small businesses
small-business
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
Spring
spyware
Stable release
Stackdriver
standards
startup
Startup accelerator
startup africa roadtrip
startups
Static Sites
STEM
storage
stories
Street View
Strobe
student programs
students
stuff
style
subscribed links
subscription
subversion
summer of code
Sundar Pichai
SVG
sxsw
syndication
targeted spyware
tasks API
Team Drives (new)
techmakers
Technical Writing
technology
templates
TensorFlow
tensorflow dev summit
TensorFlow Lite
TensorFlow Research Cloud
tensorRT
Test Lab
testing
text embedding models
Tez
TF Lite
tfdevsummit
TFLite
themes
thought leadership
tool
Toolkit
tools
topp
TPU
TPU Dev Board
training
Traits
tranparency
transit
translate
translation
tutorials
tv
ubiquitous computing
ubiquity
ubucon
ubuntu
Udacity
UI
Ukraine
UN
UNDP
UNICEF
unicode
unit test
Unity
universal
Universal App Campaigns
University
unix
Update
updates
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 developers
Women in Tech
Women Tech Makers
women techmakers
WomenTechmakers
writing
wtm
xauth
yahoo
young developers
Young Makers
youtube
zlib
zurich
ZXing
Archive
2021
Feb
Jan
2020
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
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.