Blog of our latest news, updates, and stories for developers

Add SPDY support to your Apache server with mod_spdy

Tuesday, April 17, 2012
Share on Twitter Share on Facebook
Google
Labels: chrome , faster web , page speed , spdy

33 comments :

  1. MJApril 17, 2012 at 12:49 PM

    Will SPDY ever run over regular HTTP? Serving images or any other static/security-independant content over secure SSL connection is not something that is necessary I guess.

    ReplyDelete
    Replies
    1. graingertApril 17, 2012 at 2:36 PM

      From http://dev.chromium.org/spdy/spdy-whitepaper "To make SSL the underlying transport protocol, for better security and compatibility with existing network infrastructure. Although SSL does introduce a latency penalty, we believe that the long-term future of the web depends on a secure network connection. In addition, the use of SSL is necessary to ensure that communication across existing proxies is not broken."

      SSL is basically to tunnel through proxies.

      Delete
      Replies
        Reply
    2. Marcelo FernándezApril 18, 2012 at 10:27 AM

      Yes, but nor Chrome or Firefox by default will run withouth SSL.

      From the server, you can hint back to the HTTP client "Alternate-Protocol: 443:npn-spdy/2" as a header, and if it supports SPDY, it will switch to SSL/SPDY.

      Regards

      Delete
      Replies
        Reply
    3. Reply
  2. UnknownApril 17, 2012 at 1:54 PM

    Wow - it works !!!!

    ReplyDelete
    Replies
      Reply
  3. rApril 17, 2012 at 1:57 PM

    Yes i would have the same question too. It would be nice if it would be run over HTTP and not HTTPS

    ReplyDelete
    Replies
      Reply
  4. jorgeApril 17, 2012 at 2:17 PM

    Clint Byrum has hacked together a quick juju charm for those of you deploying on Ubuntu servers:

    - http://jujucharms.com/~clint-fewbar/precise/mod-spdy

    It's very rough, as in "Oh this is neat lets get something working!" but it's already working and ought to make it much easier to enable mod_spdy usage on Ubuntu. If anyone wants to help test/bang on this we're in #juju on freenode!

    ReplyDelete
    Replies
      Reply
  5. Tim 'Mithro' AnsellApril 17, 2012 at 2:39 PM

    Any plans to do this for nginx? I abandoned Apache a while back and now pretty much use nginx exclusively.

    ReplyDelete
    Replies
    1. B. ChangApril 17, 2012 at 3:37 PM

      https://twitter.com/#!/nginxorg/status/150112670966747137

      Delete
      Replies
        Reply
    2. Reply
  6. John McGrathApril 17, 2012 at 3:39 PM

    Neat. +1 for Nginx support.

    ReplyDelete
    Replies
      Reply
  7. raulhmaciasApril 17, 2012 at 4:06 PM

    +1 for Nginx support

    ReplyDelete
    Replies
      Reply
  8. RobertApril 17, 2012 at 6:27 PM

    Apache. Meh. Wake me up when Nginx has support for it.

    ReplyDelete
    Replies
      Reply
  9. UnknownApril 17, 2012 at 8:26 PM

    I'm guessing Apache 1.3 is out of the question? We, unfortunately, are stuck on that :(

    ReplyDelete
    Replies
      Reply
  10. James PharaohApril 18, 2012 at 12:48 AM

    If you want to use it with Apache 1.3 I assume you have an application which requires that version. If so why not put an apache 2.2 instance in front of it and proxy the traffic to the current instance. You can even run this on the same machine if you need to.

    ReplyDelete
    Replies
      Reply
  11. jwovenApril 18, 2012 at 3:32 AM

    [spdy-whitepaper] The kills-any-discussion-like-Godwin excuse "but homes don't support XYZ, therefore we don't" really blows. Recently, XYZ was IPv6, now it's SCTP.

    ReplyDelete
    Replies
      Reply
  12. Matthias AmbergApril 18, 2012 at 5:09 AM

    If you want to test if your browser supports SPDY you may do so here: https://www.isspdyenabled.com/

    ReplyDelete
    Replies
    1. UnknownApril 18, 2012 at 9:55 AM

      I have FF 11, and enabled spdy per the instructions, but still your test page says it is not spdy enabled.

      Chrome works fine.

      Suggestions?

      Delete
      Replies
        Reply
    2. Matthias AmbergApril 23, 2012 at 3:02 AM

      Not at the moment, I was testing my site with Firefox 11 and I was able to toggle the usage of spdy by setting the right configs in about:config in another tab. I don't know why this didn't work for you. Maybe try another tutorial for enabling spdy in FF11?

      Delete
      Replies
        Reply
    3. Reply
  13. argh128April 18, 2012 at 6:49 AM

    If your splitting off threads after the SPDY connection handler, does this mean it only works with "Worker" and not "Prefork" apache mode?

    ReplyDelete
    Replies
      Reply
  14. AnonymousApril 18, 2012 at 8:36 AM

    Having an Apache module is nice, but forcing use of HTTPS is not. 99% of the content we serve is not over HTTPS, nor is there any reason to secure it. Further, the CA/Browser Forum is quite happy to force artificially inflated prices for digital certificates that can be generated in a split second and automatically. So, I need a bunch of certificates or a wildcard certificate? Both cost money.

    We have several domains on the same machine. We still see lack of proper support for Server Name Indication (SNI), so forcing domains to use HTTPS presents issues for many non-SPDY clients.

    Bottom line is that SPDY means problems for devices not supporting SNI and increased cost for digital certificates.

    Google could help with the latter by selling wildcard domain certificates at a price that is on par with the actual cost of production. I think that's damn-near close to $0. Still not sure what to do about lack of SNI support, but we do see older browsers out there.

    ReplyDelete
    Replies
    1. J.R.April 18, 2012 at 11:21 AM

      If clients don't support SNI they will not support SPDY anyway. Just serve them the page through HTTP then.

      Also certificates are available for free from at least one CA and have been for a few years now.

      Delete
      Replies
        Reply
    2. Paul E. JonesApril 18, 2012 at 12:03 PM

      One cannot say visit https://www.example.com (if you support SPDY) and http://www.example.com (if you do not support SPDY). We need a single URL that all browsers can access.

      Android 3.2 does not support SNI. Some older, but still used, browsers do not support SNI.

      It's not only browsers on PCs, tablets, etc. We need to ensure server-to-server communication works, and not all servers support SNI, either. Some web services provided from my own machine are accessed by other servers. If I used SPDY, I'd require use of TLS and, since we have multiple domains on the server, SNI would be required.

      I've found one CA that offers free certificates. The certificates are not wildcard (unless there is one I do not know about) and expire after one year. Managing a gaggle of certificates like that is a pain.

      Delete
      Replies
        Reply
    3. PaulWayApril 18, 2012 at 4:40 PM

      I'd rather CAs actually do the checking they're supposed to do and charge money for it, than discard all checking for the sake of cost and have someone else be able to get an SSL certificate for my website.

      Delete
      Replies
        Reply
    4. Paul E. JonesApril 18, 2012 at 5:49 PM

      Carefully checking every request takes time and costs money. It makes the certificate business less profitable.

      There are "Extended Validation" certificates, as you know. Those cost more money and are more carefully validated, I assume.

      I'm here arguing I rarely have need for TLS for most content, so I sure as heck don't need EV certificates. Some people do, though. It's good that PayPal uses EV.

      A reasonable balance is to only issue certificates to a specific email address (e.g., hostmaster@). If everyone agreed to a single address, then we could agree on a way to prove domain ownership. Sure, somebody could compromise your email address, just as they could steal your EV certificate, too.

      No system is perfect, but what I do know is that the current system is nothing but a profit engine. Certificates are produced at virtually no cost, but the price charged is relatively high. EV works fine for businesses that hold customer data, process credit cards, etc. For the rest of us, EV and even regular certificates are expensive and a hassle. For me, it's mostly about cost (especially for wildcard certs) and period of validity. I can get a 5 year cert, but at well over $100/yr. That's simply too high knowing how trivial it is to produce.

      Delete
      Replies
        Reply
    5. Matthias AlthausApril 19, 2012 at 12:51 AM

      Try a cert for free: http://www.startssl.com/ :D

      Delete
      Replies
        Reply
    6. Paul E. JonesApril 19, 2012 at 7:30 AM

      Matt, StartSSL provides free certs that are not wildcard and only valid for one year. I do not necessarily require a certificate to be free, but I want a reasonable balance between price and "pain". Dealing with 10 or 20 different certificates every year is a pain. Likewise, paying $100+ per certificate per year for wildscard domains is too expensive.

      Now, keep in mind why I'm complaining about this: because SPDY requires TLS. One cannot get benefits of SPDY without TLS.

      Perhaps this does not matter. Does SPDY provide any performance benefits over non-TLS HTTP? All of the comparisons I've seen I assume are compared only against TLS. If so, perhaps most of the web will not move to SPDY because of the TLS requirement.

      Anyway, if Google wants SPDY adopted for use on all web sites, the certificate cost / handling issues need to be addressed. Having had to mess with this, it's hard to convince me that I should waste a day of my life every year dealing with those.

      Delete
      Replies
        Reply
    7. Reply
  15. jambayApril 18, 2012 at 11:29 AM

    Before mod_spdy was labelled experimental and not necessarily suitable for production yet. I don't see if that is still called out anywhere. Any thoughts on that?

    ReplyDelete
    Replies
      Reply
  16. DonatasApril 18, 2012 at 2:05 PM

    The Apache version required for SPDY is 2.2.4 and version 2.2 of mod_ssl is needed, but the latest Apache version available from CentOS 5 x64 repositories is 2.2.22.

    mod_ssl is not installed on the server at all and yum can't find it either.

    Looks like some dirty upgrades are needed for CentOS 5.6 x86_64 before to get hands on SPDY :)

    ReplyDelete
    Replies
    1. XiatianApril 19, 2012 at 4:54 AM

      At least you're on Linux.

      Building it on FreeBSD systems is a major pain.

      Delete
      Replies
        Reply
    2. Reply
  17. madcapApril 19, 2012 at 8:57 AM

    +1 for Nginx support.
    +1 for Building it on FreeBSD.

    ReplyDelete
    Replies
      Reply
  18. LauraineApril 20, 2012 at 4:50 AM

    Thanks for sharing your info. I really appreciate your efforts and I will be waiting for your further write ups thanks once again.
    flash to html5 converter| html5 development

    ReplyDelete
    Replies
      Reply
  19. Storm Media: DeveloperMay 15, 2012 at 9:47 AM

    Will this be added into Google Pagespeed Module?

    ReplyDelete
    Replies
      Reply
  20. UnknownNovember 13, 2012 at 1:05 AM

    What will it take to have 2 apache instances communicate via SPDY? I have video/ audio/ image serving site which has nginx talking to apache at the incoming side (both on same machine). And then this apache instance talks to one more service running another apache over the network (within same data center, though). I would like to use SPDY to communicate between nginx <--> apache (same machine) and then apache <--> apache (different machines). I am assuming this can be achieved. Possible? And does it make sense?

    ReplyDelete
    Replies
      Reply
  21. josy1024April 14, 2013 at 11:48 PM

    hi!

    haveing mod_spdy installed and working on centos6!

    i've also tested with CAS (http://www.jasig.org/cas/protocol) and get redirect and authentication errors on CAS.

    can i disable mod_spdy per vhost or per "request" url?https://sslserver/cas/*

    my workaround is to buy a second certificate on an seperate apache vhost to get this working, but now i disabled mod_spdy for getting authentication to work fine.

    any ideas?
    (maybe with apache RequestHeader unset / set ?)

    regards from austria,
    josy

    ReplyDelete
    Replies
      Reply
Add comment
Load more...

  

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 2
  • Flutter at IO
  • Flutter Clock
  • Flutter Create
  • Flutter Engage
  • 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
    • Mar
    • 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
Visit Google Developers for docs, event info, and more.
  • Google
  • Privacy
  • Terms