Posted:
By Colt McAnlis, Google Developer Advocate

The next five billion humans who come online will be doing so from parts of the world where connectivity is costly and slow. With the average website approaching 2 megabytes in size and the average Android game approaching 125 megabytes, users in these markets will have to make a tough choice between content and cost. Compression algorithms, which address this issue, will become critically important over the next decade.


Most developers are content to let compression be someone else’s problem. But the truth is that these algorithms sit in the intersection of optimization, information theory, and pragmatism. These videos will take us through the history of information theory, explain why compression matters, and show how different algorithm families approach this challenge.

Compressor Head, Episode 1 (Variable Length Codes)

Understanding compression algorithms means understanding how humans view and use data. Colt explores the creation of Information Theory, and how it’s spawned the concept of variable length codes, which since the early 1950s have been at the heart of data compression algorithms.

Compressor Head, Episode 2 (The LZ Compression Family)

In the world of compression, one algorithm family reigns supreme. Born in the late 1970s, the Lempel-Ziv algorithms have become the most dominant dictionary encoding schemes in compression. This episode explains why these algorithms are so dominant.

Compressor Head, Episode 3 (Markov Chain Compression)

At the cutting edge of compression algorithms sits the lonely kingdom of Markov Chains. These algorithms adopt an Artificial Intelligence approach to compression by allowing the encoder and decoder to ‘predict’ what data is coming next. In this episode you’ll learn how these magical algorithms compress data, and why some think that they are the future of compression.

While the world of compression is focused on making things smaller, we’re going big with a set of three YouTube videos introducing modern developers to the world of compression algorithms. And they’re all available now, exclusively on our Google Developers YouTube channel at http://g.co/compressorhead.

Colt McAnlis is a games developer advocate who believes every bit counts and that performance matters. He is a Udacity course instructor on HTML5 games and a Book Author. When he's not working with developers, Colt’s been known to compress games, buildings and mountains with his bare hands.

Posted by Louis Gray, Googler

Posted:
By Matthew Steele and Doantam Phan, PageSpeed Insights Team

/via the Google Webmaster Blog
To help developers and webmasters make their pages mobile-friendly, we recently updated PageSpeed Insights with additional recommendations on mobile usability. 


Poor usability can diminish the benefits of a fast page load. We know the average mobile page takes more than 7 seconds to load, and by using the PageSpeed Insights tool and following its speed recommendations, you can make your page load much faster. But suppose your fast mobile site loads in just 2 seconds instead of 7 seconds. If mobile users still have to spend another 5 seconds once the page loads to pinch-zoom and scroll the screen before they can start reading the text and interacting with the page, then that site isn’t really fast to use after all. PageSpeed Insights’ new User Experience rules can help you find and fix these usability issues. 

These new recommendations currently cover the following areas: 
  • Configure the viewport: Without a meta-viewport tag, modern mobile browsers will assume your page is not mobile-friendly, and will fall back to a desktop viewport and possibly apply font-boosting, interfering with your intended page layout. Configuring the viewport to width=device-width should be your first step in mobilizing your site.
  • Size content to the viewport: Users expect mobile sites to scroll vertically, not horizontally. Once you’ve configured your viewport, make sure your page content fits the width of that viewport, keeping in mind that not all mobile devices are the same width.
  • Use legible font sizes: If users have to zoom in just to be able read your article text on their smartphone screen, then your site isn’t mobile-friendly. PageSpeed Insights checks that your site’s text is large enough for most users to read comfortably.
  • Size tap targets appropriately: Nothing’s more frustrating than trying to tap a button or link on a phone or tablet touchscreen, and accidentally hitting the wrong one because your finger pad is much bigger than a desktop mouse cursor. Make sure that your mobile site’s touchscreen tap targets are large enough to press easily.
  • Avoid plugins: Most smartphones don’t support Flash or other browser plugins, so make sure your mobile site doesn't rely on plugins.
These rules are described in more detail in our help pages. When you’re ready, you can test your pages and the improvements you make using the PageSpeed Insights tool. We’ve also updated PageSpeed Insights to use a mobile friendly design, and we’ve translated our documents into additional languages.

As always, if you have any questions or feedback, please post in our discussion group

Posted by Louis Gray, Googler

Posted:
By Katie Miller, Google Developer Marketing

From making your apps as powerful as they can be to putting them in front of hundreds of millions of users, our focus at Google is to help you design, develop and distribute compelling experiences for your users. At Google I/O 2014, happening June 25-26 at Moscone West in San Francisco, we’re bringing you sessions and experiences ranging from design principles and techniques to the latest developer tools and implementations to developer-minded products and strategies to help distribute your app.

If you're coming in person, the schedule will give you more time to interact in the Sandbox, where partners will be on hand to demo apps built on the best of Google and open source, and where you can interact with Googlers 1:1 and in small groups. Don’t worry, though--we’ll have plenty of content online for those following along remotely! Visit the schedule on the Google I/O website (and check back often for updates). As you start your I/O planning, we want to highlight the experiences we’re working on to help you build and grow your apps:

  • Breakout sessions: This year, we’ll once again bring you a deep selection of technical content, including sessions such as "What's New in Android"and "Wearable computing with Google” from Android, Chrome and Cloud, and cross-product, cross-platform implementations. There will be a full slate of design sessions that will bring to life Google’s design principles and teach best practices, and an update on how our monetization, measurement and payment products are better suited than ever to help developers grow the reach of their applications. Sessions from Ray Kurzweil, Ignite and Women Techmakers will take the stage and make us uncomfortably excited about what is possible. The first sessions are now listed, keep checking back for more.
  • Workshops and code labs: Roll up your sleeves, dig in to hands-on experiences and code. Learn how to build better products, apply quantitative data to user experiences, and prototype new Glassware through interactive workshops on UX, experience mapping and design principles. To maximize your learning and give you more interaction with Googlers and peers, visit our coding work space, with work stations preloaded with self-paced modules. Dive into Android, Chrome, Cloud and APIs with experts on hand for guidance.
  • Connect with Googlers in the sandbox: Check out your favorite Google products and meet the Googlers who built them. From there, join a ‘Box talk or app review, ranging from conceptual prototyping, to performance testing with the latest tools, to turning your app into a successful business.
  • Learn from peers at the partner sandbox: We love to see partners build cool things with Google, and have invited a few of them to showcase inspiring integrations of what’s possible. You will be able to see demos and talk in-depth with them about how they designed, created and grew their apps.
  • Beyond Moscone, with I/O Extended: Experience I/O around the world, in an event setting, with I/O Extended. The I/O Extended events include everything from live streaming sessions from I/O to local speaker sessions and hackathons. It is great to see so many events taking place around the world, and we can't wait to see I/O Extended events have another strong year.

We look forward to seeing you next month, whether it’s in-person in San Francisco, at I/O Extended or online through the livestream!

Katherine Miller is part of the Developer Marketing team, working on session programming for Google I/O and developer research efforts. In her spare time she runs (both competitively and after her 2 children) and memorizes passages from beloved children's books.

Posted by Louis Gray, Googler

Posted:
By Mónica Bagagem, Google Developer Marketing team

During the past two weeks, 300 of our most loyal developers discovered a registration code to Google I/O 2014, upon completion of a space adventure to [37.7829° N, 122.4033° W, Earth], aka the Moscone Center West.
Throughout your hunt for clues, we hope you also had the opportunity to learn more about the variety of documentation and resources available for developers, covering different products and platforms:
  • Google Developers home: the starting point for a diverse set of Google APIs from Cloud, to Games, to Google Wallet. This comprehensive site includes blogs, API documentation, developer tools, and information about Google developer programs, groups, training, and open-source projects.

  • Android and Google Developers YouTube Channels: central resource for developers around the world, of all experience levels, interested in learning more about the Google Developer ecosystem. It includes tutorial videos, high level overviews, and the latest news.
  • Udacity videos: Google Developers has teamed up with Udacity to provide accessible, engaging, and highly effective online education, including cutting-edge classes about Mobile Web Development and HTML5 Game Development.
The lucky Captains who found the leads first, were guided by a robot co-pilot called Icarus Odessa (I.O. initials, get it?!) on a spaced-themed text adventure game, filled with starships, asteroids, and a few sci-fi references. We were seriously impressed by the clever strategies you used to discover our clues, and thrilled to see the community interact throughout the quest. If you’re curious to meet Icarus, have some fun playing the adventure game here.


Our goal was to reward you - our developer power users - with the opportunity to experience the magic of I/O first hand. We know that not everyone will be able to attend in person, but you can still join us virtually: visit google.com/io to watch the live stream, download the mobile app, and learn more about Extended I/O events happening near you.

We hope to see you in June!

Mónica Bagagem is part of the Developer Marketing team, working on Google I/O and supporting Designer related efforts. She is a world traveler and a brunch lover.*

Posted by Louis Gray, Googler

Posted:
By Lucia Fedorova, Google Calendar API Team

Today we are enabling several ways to save your Calendar API quota, network bandwidth, and, most importantly, batteries of your users' phones.

Previously, when you wanted to know whether a user changed the color of his calendar, you would need to poll the server frequently, downloading the entire calendar list each time. This is no longer necessary as we are announcing three major improvements to the Events, Calendar list, ACL and Settings collections:
  • Incremental synchronization using sync tokens. Incremental synchronization allows you to retrieve only resources that have been modified since the last time you synchronized and thus avoid retrieving all the resources in the collection all the time. At the beginning of the synchronization process, you retrieve all the resources you are interested in and store a sync token. On follow up requests, you can use the sync token to restrict the results to only the resources that have changed since the token was issued. This functionality is now available for all four main calendar collections. Learn more

  • Push notifications. Push is a great way to avoid repeated polling. Last year we announced support for push notifications for event changes. Now we are extending push notifications to Calendar list, ACL and Settings collections. You start by subscribing to the collections you are interested in. The server will figure out when something you are interested in has changed and send you a notification. Learn more

  • Pagination. Pagination gives you control over the number of results that you will retrieve from the server so you can read through many results at your own pace. Events and Calendar lists have already supported pagination for a while; today we are bringing you pagination for ACL and Settings collections. Learn more

Let's demonstrate what synchronization could look like:
“OK server, I would like all the settings of this user.”
“Here you go, dear client, all the entries and a small bonus called a sync token.”
“Thanks, server! Please let me know if something changes in the settings of this user.”

Later that day

“Hey client, the settings have changed. ”
“Cool, here is my sync token, what are the changes?”
“There have been many. I’m now sending you the first hundred of them and a page token.”
“Got it! Here is the sync token and the page token, what else has changed?”
“Here are the remaining twenty new settings. And of course, a new sync token.”
“You are the best, server! Thank you!”

Lucia Fedorova is a Tech Lead of the Google Calendar API team. The team focuses on providing a great experience to Google Calendar developers and enabling new and exciting integrations.


Posted by Louis Gray, Googler

Posted:
By Antonio Fuentes, Google Identity Team

There is nothing more important than making sure our users and their information stay safe online. Doing that means providing security features at the user-level like 2-Step Verification and recovery options, and also involves a lot of work behind the scenes, both at Google and with developers like you. We've already implemented developer tools including Google Sign-in and support for OAuth 2.0 in Google APIs and IMAP, SMTP and XMPP, and we're always looking to raise the bar.

That's why, beginning in the second half of 2014, we'll start gradually increasing the security checks performed when users log in to Google. These additional checks will ensure that only the intended user has access to their account, whether through a browser, device or application. These changes will affect any application that sends a username and/or password to Google.

To better protect your users, we recommend you upgrade all of your applications to OAuth 2.0. If you choose not to do so, your users will be required to take extra steps in order to keep accessing your applications.

The standard Internet protocols we support all work with OAuth 2.0, as do most of our APIs. We leverage the work done by the IETF on OAuth 2.0 integration with IMAP, SMTP, POP, XMPP, CalDAV, and CardDAV.

In summary, if your application currently uses plain passwords to authenticate to Google, we strongly encourage you to minimize user disruption by switching to OAuth 2.0.

Antonio Fuentes is a Product Manager working on features to keep Google users safe. He has also worked on tools for third party developers looking to build on Google infrastructure.

Posted by Louis Gray, Googler

Posted:
By Emma Turpin, DevArt Lead at Google Creative Lab and Paul Kinlan, Developer Advocate

Mapping a dream as it navigates through your brain using G+APIs. Exploring metamorphosis through storytelling in the form of a poetic adventure with Chrome Apps and Compute API. Travelling through a playful giant map that explores fantasy and reality on a huge scale using Map API. Creating music through the touch of your finger on a simple piece of wood using Android.

These are just a sample of the hundreds of projects we received after inviting the developer community to express themselves creatively as part of DevArt. We were looking for a unique idea which mixes art and code and pushes the boundaries, to be featured in the Barbican's Digital Revolution exhibition, opening this summer in London and from there touring the rest of the world.

And the winner is … a duo Cyril Diagne & Béatrice Lartigue from France. Cyril and Beatrice’s project, Les métamorphoses de Mr. Kalia, is an interactive poetic adventure around the theme of metamorphosis in the human body. It invites gallery visitors to personify Mr. Kalia as he goes through many surrealistic changes [video] [project page on DevArt site]. The piece conveys feelings related to change, evolution and adaptation. Mr. Kalia is brought to life through the use of a skeleton tracking technology, and uses Chrome apps and Google Compute Engine.


Cyril and Béatrice’s installation will sit alongside three of the world’s finest interactive artists who are also creating installations for DevArt: Karsten Schmidt, Zach Lieberman, and the duo Varvara Guljajeva and Mar Canet. The Digital Revolution Exhibition will be opening in London on 3 July with tickets available online here.

We were overwhelmed by all of the amazing ideas we saw, a testament to the creativity that’s possible with code. Watch this space - DevArt at the Digital Revolution exhibition at the Barbican opens in July!

Paul Kinlan is a Developer Advocate in the UK on the Chrome team specialising on mobile. He lives in Liverpool and loves trying to progress the city's tech community from places like DoES Liverpool hack-space.


Posted by Louis Gray, Googler

Posted:
By Nadya Direkova, Staff Designer and Design Evangelist

When Google launched, it was a crisp white page with a simple search box. You might not have thought there was much in the way of design, but its appearance underscored two of our most important principles: simplicity and usefulness. Those principles haven't changed much in fifteen years, but our understanding of what makes great design has—throughout the industry. Today, there’s design in everything we touch. And as a developer, even if you don't happen to be a formal designer, you've undoubtedly faced design challenges as you've built your own products. Design has always been a rich conversation, and it's one that we’d like to have with you as you work on your projects and as we work on ours.

At Google I/O this year, we will have sessions and workshops focused on design, geared for designers and developers who are interested in design. We're looking forward to exchanging ideas with you both at the conference and online afterwards. Remember, registration is open until Friday and details on Google I/O Extended events are coming soon.

To start off the conversation, today we're kicking off a series called "Google Design Minutes" with three videos where we share some key learnings with you-from Glass, Maps and Search. We hope they'll help you navigate some of your own design challenges.


Search — The beauty of speed: Jon Wiley discusses the importance of designing for simplicity and speed.


Maps - Putting the user front and center: Sian Townsend looks at the importance of understanding how a user approaches your product, while Jonah Jones talks about adapting the approach to make the map the user interface.


Glass - Make it simple: Isabelle Olsson talks about the focus her team put into making Glass simple, and how this choice guided all the decisions they made.

We'll be continuing this conversation around design over the coming months—including more of these videos, as well as design-focused content on our developer site. And we'd love to hear from you! We've set up a Google Moderator page to hear your questions for our designers and researchers; in the coming weeks, we'll share our thoughts on the top questions. We look forward to seeing you at Google I/O, and hearing your own thoughts on what makes great design today!

Nadya Direkova is a Staff Designer at Google [X]. She runs design sprints across Google allowing interdisciplinary teams to design with skill and speed.

Posted by Louis Gray, Googler

Posted:
Cross-posted from the Geo Developers Blog

By Mike Jeffrey, Google Maps API Team

Are you an iOS developer interested in adding a map to your application? The instructional experts at Code School set out to create a course introducing the Google Maps SDK for iOS to developers like you — and they delivered!

Exploring Google Maps for iOS is a free course covering everything from adding a simple map, to using geocoding and directions, to incorporating Street View in iOS. You'll end up with a working sample application and gain the knowledge you need to build your own amazing Google Maps-based apps. Learn from videos, sample code, and Xcode-based coding challenges.

Check out the introduction video below, and then head over to Code School to get started with their interactive course!

You can also read our official developer documentation and reference docs at https://developers.google.com/maps/documentation/ios/.

Posted by Louis Gray, Googler

Posted:
By Billy Rutledge, Director of Developer Relations

Whether you're a developer who's interested in the latest developments in the Googleverse or someone who wants to build the next billion dollar app, Google I/O is the ticket for you. It’s your opportunity to speak directly with us about what’s going on and where apps are headed for 2014. At past I/Os, we skydived onto the Moscone Center--broadcasting live using Google Glass and Google+, launched hardware--like the original Nexus 7 and the first commercial Chromebooks, and showed you how you can use Google services to take your apps to the next level.

While we aren't ready to share what’s up our sleeves just yet, we can share with you that we’re focusing on three key themes this year: design, develop and distribute--helping you build and prove your app from start to finish. With those themes in mind and the registration window opening today (link), here’s what we’ve got planned for Google I/O 2014:

  • More time to talk code, wireframes, and business plans with real humans: If you're coming in person, the schedule will give you more time to interact in the Sandbox, where partners will be on hand to demo apps built on the best of Google and open source, and where you can interact with Googlers 1:1 and in small groups. Come armed with your app and get ready for direct feedback on your app design, code, and distribution plan.
  • Go deeper with content: A streamlined session schedule will be published in May featuring talks that will inspire ideas for your next app, while giving you the tools to build it. We'll also be providing self-paced Code Labs that you can dive into while at I/O.
  • A taste of San Francisco, with After Hours: All work and no play makes for a dull conference! After Hours will showcase some of what our vibrant city has to offer, including craft brews in our beer garden, our city's illustrious food trucks, and local indie bands, so you can tear it up on the lawn (yes, that's right: outside this year!)

We’re really looking forward to this year’s event and hope you are too. Don't forget that the registration window will remain open from 4pm PDT today (April 15) until April 18 at 2:00 PM PDT. Applicants will be selected at random after the window closes, and we’ll let you know your status on or around April 21.

We look forward to seeing you in June, whether you’re joining us at Moscone, at an I/O Extended event, or online at I/O Live.

Billy Rutledge, Director of Developer Relations

Posted by Louis Gray, Googler