Latest News

What to look forward to in Drupal 8 (and how you can help)
Tuesday, February 21, 2012 - 16:10

Cocomore (via DrupalFire)

I was already planning to provide an overview of what’s been going on in the various Drupal 8 initiatives even before last week, when Dries announced the timeline for Drupal 8, which includes a “feature freeze” for Drupal 8 in only a little more than nine months from now, and planned release at the DrupalCon Europe, in late August 2013.

Drupal 7’s Plateau of Productivity?

While most of the top Drupal 6 modules are now available, in some state or another, for Drupal 7, and I would certainly choose Drupal 7 for a large Drupal-based project that is not expected to be deployed for some time, from the outcry of protests I think there are a lot of people who would not agree that Drupal 7 is yet at its Plateau of Productivity. There is still plenty of reason to build sites on Drupal 6, especially if you need particular features (e.g Nodewords / Metatag functioning properly, among others) and if you need to deploy the site now, with those features ready for use. Dries indicated that he thought Drupal 6 reached its Plateau of Productivity in late 2009, about 18 months after its initial release. At that point, there were fewer than 20,000 sites using Drupal 5 and more than 200,000 sites using Drupal 6. While this order-of-magnitude-greater-usage is not likely to ever be seen comparing Drupal 7 vs Drupal 6 usage (at least not before Drupal 8 is released), I do think that it’s significant that Drupal 7 usage has finally overtaken Drupal 6. That said, I don’t think we are truly at Drupal 7’s Plateau of Productivity, the point where building a new site on Drupal 6 would be “pointless”. Both in terms of time-after-release and usage statistics, it is arguably premature to say we are quite to that point yet.

Quibbling aside, I also don’t think it matters whether we believe we have reached the Plateau of Productivity for Drupal 7, or not — and it certainly doesn’t matter whether we are all in agreement about that. I do think we are ready to see core development for Drupal 8 get kicked into high gear and I don’t think it will significantly delay the development of the contrib modules or resolving core issues in Drupal 7 which are the final barrier, in my view, to truly reaching its Plateau of Productivity. Additionally, many of the fixes and features going into Drupal 8 are regularly being back-ported to Drupal 7, and there is increased discussion of relaxing the criteria for what can be back-ported to Drupal 7, so I see the increased attention to Drupal 8 core development as exciting: a win-win for the whole Drupal community. We now have a release date for Drupal 8, which is important for business decisions, and a better timeline to facilitate a roadmap for the final stages of determining feature inclusion.

Drupal 8 Core Initiatives

Currently there are 6 official Drupal 8 Core Initiatives which are working on various aspects of desired improvements to core. There are others likely to be added to the list as soon as a bit more progress has been made on the current list and/or as qualified individuals step up to take on some of the other “top 10” desired improvements we had on our collective community wishlist. Some of the improvements require fixes to issues plaguing Drupal 7 and 6 and have been backported. Most of the others involve dozens, if not hundreds, of related issues. Following is a brief summary of each of the current core initiatives and what their priority goals are for Drupal 8. In the interest of brevity, the explanations leave out a lot of juicy details, but for those who haven’t been paying close attention and who might like to get involved, I hope this summary is useful:

Web Services and Context Core Initiative

The Web Services and Context Core Initiative (WSCCI, pronounced “Whiskey”), formerly referred to as the “Butler” project, is a core initiative led by Larry Garfield of Palantir.net, aka “Crell” on Drupal.org. While the traditionally typical HTTP request has been for HTML pages, the modern Web has brought with it the need for HTTP services which deliver information which is not necessarily in the form of HTML. This is especially true for mobile applications, but also applies to feeds and other communications via HTTP. The goal is to “take Drupal from being a first-class Web CMS to being a first-class REST server which includes a first-class Web CMS”. Really, this initiative spans a huge range of related issues and without writing an article many times the length of this one, I could not possibly cover everything, but…

read more

Drupalcon Denver - Feb 21, 2012 - LAST DAY FOR EARLY BIRD PRICING
Tuesday, February 21, 2012 - 15:03

Matthew Saunders (via DrupalFire)

Want to save $50? If you're planning on going to Drupalcon Denver today is the last possible day to get in at the early bird pricing. At midnight Mountain Time, the price goes from $350 to $400. That extra $50 in Denver would a REALLY nice meal for a couple of people with drinks. It could get two people into the official party. It is an Association membership with $20 left over. Come on? What are you waiting for? REGISTER today to access more than 104 sessions including core conversations, three GREAT keynotes, more Birds of a Feather conversations than you can shake a stick at. That does not even include the networking opportunities.

If you register today, that comes to $70/day. That increases by $10/day tonight (February 21/2012) at midnight.

REGISTER FOR DRUPALCON DENVER NOW!

read more

Refocusing WSCCI
Tuesday, February 21, 2012 - 03:18

Larry Garfield (via DrupalFire)

As Dries has already reported, we held a summit meeting at the Acquia offices in Boston last week. It was a good sprint for a couple of reasons. For one, a large number of leading core developers got more clearly on the same page about the direction of Drupal core. For another, we were able to break the "too big to swallow" logjam that has been plaguing the Web Services and Context Core Initiative (WSCCI).

read more

Module Monday: Views Dependent Filters
Monday, February 20, 2012 - 15:00

Lullabot (via DrupalFire)

Since version 2.0 of the Views module shipped back in 2008, site builders have been able to use its Exposed Filters feature to create slick user-filterable lists without writing a lick of code. Unfortunately, complex views with lots of exposed filters can easily become cluttered -- some filtering options only make sense when others are also selected, for example. Views Dependent Filters solves that problem, allowing to hide and show exposed filters based on other filters' values.

Configuring the module is a bit opaque: using it requires adding a "Global Dependent Filter" to your existing view, then positioning it between the two exposed filters whose behaviors should be linked. For example, you might add an exposed Content Type filter, then the Global Dependent Filter, then an second exposed filter that's only applicable to one of the content types. The Dependent Filter's configuration options will allow you to choose which values from the first filter should hide or show the second exposed filter.

Custom Sort Drupal Content with the Draggable Views Module
Thursday, February 16, 2012 - 23:56

Metal Toad Media (via DrupalFire)

In the world of sorting, sometimes 'newest first' or 'oldest first' just doesn't cut it. During a recent Drupal project, we had a client who wanted to be able to control the order of their marquee images in random ways via a drag and drop interface.

Enter the Draggable Views module. In about thirty minutes, I was able to set up custom drag and drop functionality for several content types on their site. Let's dive in and I'll show you how it's done. If you prefer a video tutorial, skip to the end of this post.

The future is a RESTful Drupal
Thursday, February 16, 2012 - 19:34

Dries Buytaert (via DrupalFire)

Last weekend, we held a sprint at the Acquia offices for the Web Services and Context Core (WSCCI) Initiative for Drupal 8. This was an important sprint for the future of Drupal. This blog post provides a high-level overview of what was discussed and agreed upon; the different sprint participants will be laying out more technical details in follow-up blog posts.

Overall, a wide range of experience levels, skill sets, and perspectives were brought to the table, with the goal of the sprint being to clearly define the initiative’s scope, get agreement on what we wanted to accomplish and why, and lay out a clear plan for how to accomplish this.

In attendance were:

Scope

The WSCCI initiative, as envisioned by Larry Garfield, was originally set to address Drupal's web services and flexible page layout capabilities. We discovered that both would require significant changes to Drupal core, and it was difficult to build consensus online, so we decided to get together for 3 days and to flesh out what we actually wanted to accomplish, and how.

At the sprint, we first attempted to articulate all of the problems that WSCCI was trying to solve, which included: multiple page layouts, better UI/UX to manage blocks, partial page rendering (ESI, AHAH), contextual blocks, different response types per delivery callback/URL, plugin system / swappable subsystems, lazy loading bootstrap (convert subsystems to PSR-0 classes), infrastructure for building web services, dependency injection, and so on.

We then did a round of voting where we could each choose 3 of those things in order to try to determine which of those were the most important.

Two things became instantly clear during this exercise:

  1. The items encompassed under WSCCI really spanned at least 3 separate major areas: Web Services, more robust ESI-based layouts (think Panels only more powerful), and cleaning up our underlying toolset to be a more loosely-coupled framework.
  2. The underlying architecture to support RESTful calls to Drupal that makes all of the other things possible was deemed the most important thing to focus on.

Scope resolution

After a good chunk of discussions, all were in agreement to scale back the scope of the initiative to just the "Web Services" piece, and spin off the Layout/blocks/related-UI parts to a separate effort.

Furthermore, some efforts, such as PSR-0 and Unified Plugin system, were only semi-related to the WSCCI initiative in the first place, and just happened to become relevant for it. Work on those efforts will continue as part of the general Framework community efforts.

Architecture

Fabien was able to offer a tremendous number of insights as to how various Symfony2 components could help provide underlying structure for Drupal core to support Web Services out of the box. Essentially, most of what the WSCCI team had been trying to work toward, in the abstract, was already implemented within Symfony2. While some implementation details were different than what we had in mind, the end result is almost exactly what we have been trying to accomplish. We therefore agreed that the best way forward was to leverage several Symfony2 components within Drupal as a way to speed progress toward that end.

Benefits

Some of the concrete benefits that would come out of these changes are

  • An underlying framework that is a first-class REST citizen. That means developing web services becomes easier and more efficient, because the plumbing is already in place. An HTML page is a particular case of a REST service.
  • Because the core system will be fully REST-ified, we'll be able to improve existing APIs and expose Drupal content in a natively RESTful way. For example, our current AJAX system doesn't comply with REST standards, but with these changes, can be cleaned up to do so.
  • That in turn makes Drupal-to-Drupal communication, content staging, content sharing, and a host of other related tasks easier.
  • The use of widely used libraries and techniques makes Drupal more approachable to new developers.

Why does this matter?

As it has evolved into an increasingly powerful system, Drupal has gotten increasingly complex and is not as easy to start developing with as it once was. Many developers are nervous about continuing that trend. Managing complexity is a challenge faced by many software projects, and one approach is to use standardized patterns and components.

Due to its long support for PHP 4, as well as some unique needs, Drupal does not take full advantage of standardized patterns and components. The complexity of the custom code that’s used and the non-standard architecture combines to create a barrier to entry for developers new to Drupal (both experienced and novice developers alike).

Meanwhile, the web is constantly changing around us. Web services and mobile are more important than ever, and with that comes the need to have more flexible page and layout capabilities. Now feels like the right time to modernize Drupal’s capabilities to bring it to the forefront of modern PHP systems and web systems in general.

While changing Drupal's core plumbing to address these needs, it's also a good opportunity to do so using more widely understood and modern techniques and libraries. Leveraging the work of a fellow open source community lets us get a jump on these changes to build a more powerful, more flexible, and more easily learnable system in less time than it would take to go it our own.

While these changes may seem large, and some of them are, we believe that they will achieve the right balance between empowering Drupal's design and architecture, and moving toward more modern, standard, well-tested code and techniques to empower a new generation of developers. I hope you are as excited as we are!

Drupal 8 feature freeze: December 1st, 2012
Wednesday, February 15, 2012 - 18:57

Dries Buytaert (via DrupalFire)

Last summer, I blogged about how I think about Drupal release date planning, tying it to the Gartner hype cycle and the corollary Drupal mood cycle.

The release timeline I laid out in my previous blog post was a Drupal 8 release 18 months after Drupal 7 had achieved the “Plateau of Productivity", the point in time where developing in Drupal 6 seems mostly pointless due to the maturity of Drupal 7.

At that time, I said that I felt that Drupal 7’s “plateau of productivity" was about 6-9 months away. Today, almost 9 months later, I think that by any reasonable measure we are currently there. There are over 300,000 live Drupal 7 installations, which represents nearly 50% of all reported Drupal sites. The top Drupal modules all have Drupal 7 releases, the vast majority of which are either stable releases or release candidates.

Having reached the “plateau of productivity" also means that I feel comfortable announcing the Drupal 8 release timeline (after catch and I talked about it). Without further ado, here is how the rest of the Drupal release cycle breaks down:

Timeline:

  • December 1, 2012: Feature freeze. No new features are allowed (unless specifically exempted), focus turns instead to API and UI clean-ups and polishing of existing features.
  • February 1, 2013: Code freeze: focus on bug fixes, stabilization. No API changes, instead focusing on bug fixing, preparing for release, and getting the count of critical bugs down to 0.
  • August, 2013 (DrupalCon Europe 2013): Drupal 8 released, to wild, international fanfare. :-)

This means that Drupal 8 is 18 months away. Time to shift Drupal 8 core development into higher gear!

The ~6-month window for bug fixes laid out here is obviously much shorter than the 18-month window for bug fixes we ended up having with Drupal 7, but the hope is that the issue count thresholds that we’ve introduced this release will ensure this process is much shorter than in Drupal 7, since we’ll be going from approximately 15 down to 0, rather than approximately 300 to 0.

This timeline also means that if there are Drupal 8 initiatives you’d like to see happen, or other specific features or things you want to see fixed in Drupal core, now is the time to make those things happen. If you’ve never helped with Drupal core development before and would like to, stop by IRC during Core office hours, or join us at DrupalCon Denver. There will also be plenty of other sprints at DrupalCon around various Drupal core initiatives, and you can always start your own!

See you in Denver and in the issue queue! :-)

Automate Your Life with Phing
Wednesday, February 15, 2012 - 15:00

Lullabot (via DrupalFire)

Phing is a PHP tool that allows us to automate processes -- typically, it's used for building and deploying software. It's similar in functionality to the Apache Ant project and uses XML files to execute tasks that are defined as PHP classes. Best of all, it has a tonne of cool tasks already baked in! These include tasty things such as unit testing, file system operations, code sniffer integration, SQL execution, shell commands, 3rd party services and version control integration.

Ok, that sounds good. How do I use it?

You can install Phing easily through PEAR.

$> pear channel-discover pear.phing.info
$> pear install phing/phing

The default name for a Phing build file is build.xml. This file contains a number of targets, which are like different functions that you might find in a PHP file.

<?xml version="1.0" encoding="UTF-8" ?>

Google Public DNS: 70 billion requests a day and counting
Tuesday, February 14, 2012 - 18:00
We launched Google Public DNS in December 2009 to help make the web faster for everyone. Today, we’re no longer an experimental service. We’re the largest public DNS service in the world, handling an average of more than 70 billion requests a day.

DNS acts like the phone book of the Internet. If you had to look up hundreds or thousands of phone numbers every day, you’d want a directory that was fast, secure and correct. That’s what Google Public DNS provides for tens of millions of people.

Google Public DNS has become particularly popular for our users internationally. Today, about 70 percent of its traffic comes from outside the U.S. We’ve maintained our strong presence in North America, South America and Europe, and beefed up our presence in Asia. We've also added entirely new access points to parts of the world where we previously didn't have Google Public DNS servers, including Australia, India, Japan and Nigeria.

Shortly after launch, we made a technical proposal for how public DNS services can work better with some kinds of important web hosts (known as content distribution networks, or CDNs) that have servers all of the world. We came up with a way to pass information to CDNs so they can send users to nearby servers. Our proposal, now called “edns-client-subnet,” continues to be discussed by members of the Internet Engineering Task Force. While we work with the IETF, other companies have started experimenting with implementing this proposal.

We’ve also taken steps to help support IPv6. On World IPv6 Day, we announced our IPv6 addresses: 2001:4860:4860::8888 and 2001:4860:4860::8844 to supplement our original addresses, 8.8.8.8 and 8.8.4.4.

Google Public DNS’s goal is simple: making the web—really, the whole Internet!—faster for our users. If you’d like to try it yourself, please see our page Using Google Public DNS. For more information, please see our Introduction to Google Public DNS and Frequently Asked Questions.

Posted by Jeremy K. Chen, Ph.D, software engineer, Google Public DNS
Roses are red, violets are blue...here are some Valentine’s Day tips for you
Tuesday, February 14, 2012 - 17:52
It’s Valentine’s Day, and all you need is love.

Well, maybe you need a few more things.

This year, lovebirds in the U.S. are pulling out all the stops and are expected to hit a 10-year spending high on romantic goods. Whether you’re looking for a box of chocolates or buying a diamond ring, we’ve taken notes on how Google can turn any last-minute Cupid into a polished Romeo. Think of us as Cyrano de Bergerac, whispering words of wisdom in your ear for dishes, dates and romantic inspiration.

Sweets for a sweetie
They say the way to a man’s heart is through his stomach. Searches for [valentine’s day dinner], [valentine’s day recipes], [romantic dinner] and [romantic recipes] ramp up at the start at February, hitting their peak on the 14th.


If you’re whipping up a homemade treat, you can use Google Recipe view to search for thousands of heart-shaped cookie recipes, and tailor the ingredients (and the calorie count) for the best fit.

If you’re not a maestro in the kitchen yet, we can help. Peruse some trendy dishes and learn how to cook from YouTube’s Next Chefs, who have created a highlight reel of their best aphrodisiacs. We’re not playing favorites, but we do love the Sweetest Vegan’s red velvet beet cupcakes, which will come in handy for many couples—searches for [vegan valentines] have more than tripled since 2006.

Don’t know a truffle from a trifle? Then let a professional handle the meal. If you haven’t booked a table yet, you’re not alone: searches for [valentines day reservations] typically peak on February 9 and remain high through the holiday. For ideas, check out Zagat’s recommendations for romantic hotspots in your neighborhood. A word to the wise, though: If you’re planning on popping the question on Valentine’s Day, avoid dining out, as 69 percent of those surveyed in Zagat’s recent Valentine’s Day Survey feel that restaurant proposals are “cheesy.”

Perfect planners and last-minute cupids
Women have a head start on the menfolk when it comes to Valentine’s Day gifts, searching earlier (and more often) than their male counterparts—about 160 percent more since January.


The staple romantic gifts haven’t lost their appeal. Searches for [jewelry gifts] have grown over 10 percent, searches for [flower delivery] have increased nearly 20 percent, and searches for [couples massage] have jumped nearly 50 percent over last Valentine’s Day.

To impress, some folks are thinking outside the (heart-shaped) box. For the daring, create your own [valentines scavenger hunt]—searches are up more than 20 percent from last year. Or, add a personal touch—searches for [personalized valentines day gifts] are up over 20 percent compared to last year and searches for [homemade valentines gift] are up over 60 percent since last year. The last-minute lovers don’t have to despair, though. Visit Google Shopping to find gift ideas and filter results to see which items are in stock nearby.

Celebrating solo
Celebrating Valentine’s Day solo doesn’t mark you as a Miss (or Mr.) Lonelyhearts. Instead, treat yourself to a night on the town. View interactive results for nearby movie showtimes on your mobile phone, and know that if you indulge your inner cynic by skipping the rom com and catching a horror film, you won’t be alone: in the past 30 days, searches for [horror movie] are 230 percent higher than searches for [romantic movie].

Vive la romance
Everyone loves a fairytale ending, so let’s wrap up with two final ways to make your heart grow two sizes too big today. For a close-up look at romance at its finest, check out the “Awww: Romantic Proposals” YouTube Slam. Vote for your favorite mushy, creative, artistic, or—in one case—magic proposal.

Finally, today’s homepage doodle gives a nod to love, both young and old. Though “Cold, Cold Heart” plays in the background, we bet yours will warm just a bit.

Happy Valentine’s Day, everyone!

Posted by Jim Lecinski, Vice President, U.S. Sales

(Cross-posted on the Inside Search blog)
Brazil’s Carnival goes social with Google
Monday, February 13, 2012 - 22:17
While you may have heard of Brazil’s Carnival (or Carnaval), not everyone will have the chance to fly to Brazil to experience what are arguably the largest annual street festivals (+ music concerts + dance parties + culture fests) in the world.

Every year, Brazilian cities compete to be the country’s top Carnival destination: This year, we’re bringing you the sights, sounds and energy of Brazilian Carnival directly from the streets of Salvador (Brazil’s first capital and one of the oldest cities in the the Americas) through Google+, YouTube and Orkut.

From February 16 to 21—the height of the festival and the peak of Brazil’s summer—you’ll be able to:
  • Watch the festivities wherever you are in the world on the Carnival YouTube Channel. Starting Thursday, February 16, you’ll have access to everything from a live transmission of the streetfest to videos of bands who have traveled to Salvador to host the party. You’ll even be able to chat with other YouTube users who are watching the party with you from around the world through a map we’ve integrated just for the occasion.
  • Chat with bands and watch live interviews on Google+. Chat with some of the Brazilian bands who have joined the festivities in real time by sending questions via Google+ and Orkut. You’ll also be able to watch celebrity interviews running live throughout the week on the AoVivo (live) Google+ Page and transmitted simultaneously on YouTube and Orkut.


Even if you didn’t have a chance to get a plane ticket to Brazil, there’s no reason not to experience the energy of this year’s 2012 Carnival. Find out more about how you can be part of the party on +AoVivo, Orkut or on our Carnival YouTube Channel.

Posted by Flavia Simon, head of consumer marketing, Brazil

(Cross-posted from the YouTube blog)
European Commission clears Motorola deal
Monday, February 13, 2012 - 22:01
We’re happy that today the European Commission approved our proposed acquisition of Motorola Mobility, which we announced in August. This is an important milestone in the approval process and it moves us closer to closing the deal. We are now just waiting for decisions from a few other jurisdictions before we can close this transaction.

As we outlined in August, the combination of Google and Motorola Mobility will help supercharge Android. It will also enhance competition and offer consumers faster innovation, greater choice and wonderful user experiences.

Posted by Don Harrison, Vice President & Deputy General Counsel

Update February 13, 2012, 2:00pm: The U.S. Department of Justice has also announced that it has closed its investigation of this acquisition.
Module Monday: Touch Icons
Monday, February 13, 2012 - 21:30

Lullabot (via DrupalFire)

If you've ever needed to assemble an iPhone or iPad-ready Drupal site on short notice, you know that it's easy to miss some of the details. Once you've finished a responsive design and figured out how to avoid burying mobile users in heavy images, it's easy to forget the high-res Web Clip Icon used by iOS when a user saves your site to their device's home screen. Without one, a squeezed-down screenshot of your site will be displayed on their home screen. It's possible to hard-code a Web Clip Icon into your theme's markup, but with the Touch Icons module, it's as easy as uploading a custom favicon or logo image.

Installing and enabling Touch Icons adds two additional checkboxes to every theme's settings page. Like the Favorite Icon and Site Logo options, activating them lets you upload a custom image file that should be used as your site's iOS home screen icon. That's it -- there's nothing more to configure or set up!

Technically, nothing prevents you from customizing your site's theme and embedding these touch icons yourself. If you're using an out-of-the-box Drupal theme, however, it's easy to forget. If you need to add a bit of extra polish for iOS users, this is an easy way.

Connect with people and places you love this Valentine’s Day
Monday, February 13, 2012 - 19:46
A few months ago, we shared an engagement story about a Google engineer who used Google Maps to help coordinate an elaborate proposal to his girlfriend. It served as a great example of how Google Maps can be more than just a handy tool for directions; it can help connect you to the places and people you love.

With Valentine’s Day right around the corner, we were once again reminded of the unifying power of maps through our ongoing work with one of America’s most famous malls, Mall of America in Bloomington, Minnesota. We recently collaborated with Mall of America to conveniently bring its indoor floor plans and My Location information to Android mobile users. As the largest indoor retail space in the United States—complete with a theme park and aquarium—finding your way around Mall of America can be challenging. So we mapped it, enabling you to quickly and easily see where you are and what’s around you from the palm of your hand.

Check out the video below to see how the enormous Mall of America can be scaled down to a romantic setting for two.




Whether it’s through a customized scavenger hunt, search results for a local store with the perfect gift or the best directions to get to your date on time, we hope Google Maps helps you navigate your way to a wonderful Valentine’s Day.

Posted by David Kim, Product Marketing Manager, Google Maps

(Cross-posted from the Lat Long blog)
My brain is not a stopwatch
Saturday, February 11, 2012 - 08:32

Károly Négyesi (via DrupalFire)

While surely time clocks worked well for an assembly line worker, I have always found the push to clock my hours similarly rather annoying and this puncher makes me froth with rage. It's all sorts of wrong to force a creative person to work on an hourly basis. First, if I am able to solve something quicker, am I to earn less...? Worse, if I take a long time, perhaps even miss a deadline then you are to pay me more??

read more

Ship Wars@ Google Waterloo: A virtual battle of intergalactic spacecraft
Friday, February 10, 2012 - 21:02
On Tuesday, January 24, Google Waterloo opened its doors to engineers from the Kitchener-Waterloo area to participate in the first ever Ship Wars Programming Competition. The brainchild of myself and another Waterloo engineer, Garret Kelly, Ship Wars is a competition in which participants code their own intergalactic crafts in the programming language of their choice, and then battle against each other in a virtual environment. The inaugural competition proved quite popular, drawing nearly 40 participants, ready for battle.

The game itself went through a lengthy series of internal tests and refinements at the Google Waterloo office in the weeks leading up to the tournament. On the day of the event, participants quickly learned how to play and were able to code, test and enter their virtual ships into competition in under three hours. Not an easy feat!

The engineers brought their own machines (mostly laptops, but a few brought in huge desktops) to build and run their ships. After a brief overview of the rules, they were able to get started coding their ships in the language of their choice—some even switched languages mid-way through the event, changing their plan of attack. They were able to control the way the ships moved (direction and speed) and the strength of their weapons, but were only given clues as to how their ship and weapon systems would behave inside the simulation— the rest had to be deduced by playing test matches against example ships. This type of on-the-fly problem solving proved to be a unique and exciting challenge.

To test their ships in battle against other engineers’ creations, head-to-head battle stations were set up around the room. At these stations, participants could see how their ships were shaping up, watch them in action and ultimately decide what changes they could make before the final competition.

Local engineers design their virtual battleships
At the end of the evening, guests were given a tour of the Google Waterloo office while their ships “went to battle.” Thousands of simulated head-to-head battles and 15 minutes later, to the sound of much laughter and raucous cheering, the ship captains saw their results and watched replays of some of the most dramatic battles. Prizes (a Motorola Xoom Tablet, a Samsung Galaxy Tablet and a Google messenger bag) were awarded to the designers of the three ships with the most wins. For more photos, here’s a link to our album.

This wildly successful event will be expanding out to a few other Google offices in the near future. Be on the lookout, Pittsburgh and Cambridge: Ship Wars is coming to you next!

Posted by Aaron Kemp, Software Engineer

(Cross-posted from the Technical Programs and Events blog)
Celebrating our history, accomplishments and community during Black History Month
Friday, February 10, 2012 - 19:26
If you walk down the halls of our New York office, you might learn something about the history of technology. This month, our walls showcase the contributions of Black inventors in science, technology, engineering and mathematics in celebration of Black History Month.

Black History Month, which is every February in the U.S., provides us with an opportunity to recognize the history and diversity of the communities where we operate. Yesterday, our midwestern Googlers listened to the music of Michigan’s only Black and Latino Orchestra and next week, Dr. Clarence Jones will be speaking to our Bay-area Googlers about writing Martin Luther King’s “I Have a Dream” speech. This is just a small sampling of the dozens of celebrations Googlers are hosting all month long.


Black History Month also gives us a chance to celebrate the diversity of our Googlers and highlight some ways we work with underrepresented groups. One of my favorite examples is the story of the Black Googlers Network (BGN). In June 2006, a group of Googlers looking to connect and foster community among Black colleagues got together to create an internal networking group. The Black Googlers Network started as a mailing list, but quickly grew into much more. Passionate about growing the next generation of Black leaders in the technology industry, BGN partnered with our university programs team to strengthen our relationships with Historically Black Colleges and Universities (HBCUs). As a result, we’ve not only increased our recruiting presence at these schools, but are now also partnering with HBCU faculty to develop STEM (science, technology, engineering and math) curriculum, encouraging more students to pursue degrees in these areas and prepare them for careers in technology.

Members of our BGN are also shaping the way we do business. In May of 2009, two recent grads in our Ann Arbor office saw an opportunity, and what started as an idea bounced around between two twenty-somethings turned into an official Google program. The idea was to help minority-owned small businesses grow their online presence and, just a few months later, the idea became a reality when Accelerate with Google officially launched. The program has since grown into a team of several dozen Googlers, all working to get small, minority-owned businesses online and helping those business owners connect with one another.

Our passionate Googlers, like those behind BGN and Accelerate, allow us to better connect with the Black community and help to create an inclusive and diverse workplace. As we throw dozens of celebrations around the country in our Atlanta, Chicago, Ann Arbor, New York, Los Angeles and Mountain View offices to mark Black History Month, we invite you to join us by following our Google for Students and Life at Google pages on Google+, where we’ll be hosting photos, recaps and hangouts throughout the month.

Posted by Yolanda Mangolini, Director of Global Diversity Talent & Inclusion
New Redesign of GRAMMY.com Just In Time for 54th Awards
Friday, February 10, 2012 - 19:03

Lullabot (via DrupalFire)

Lullabot powers The Recording Academy website for third year

When the 54th GRAMMYs begin this Sunday evening, millions of people will be glued to their televisions -- and a large number of them will also simultaneously be on their computers and smartphones to catch up with the online-only behind-the-scenes action. This type of web traffic calls for a responsive and robust site to handle it all.

Lullabot recently launched a new design for GRAMMY.com. The new site carries over all the functionality from the previous iteration, while adding all the responsive web design goodness users have come to expect from high-profile sites.

The Recording Academy's Kevin Colligan explains the importance of a responsive design for GRAMMY.com:

This responsive approach isn’t just cool, it’s vitally important because more and more people are surfing the web on smartphones and tablets. Over the past 30 days, about 17% of our visitors were on mobile devices. And we expect that percentage to rise steadily.

The GRAMMYs site provided many challenging scenarios in building a responsive design. The media-heavy nature of GRAMMY.com means that we had to work with not only resizing images, but also restructuring the page to fit appropriate advertising, Facebook comments, inline YouTube videos, and various positions of embedded Ooyala videos. Besides simply responding to the size of the screen, all video content also has to be HTML5 compatible of course, to help mobile devices that don't support Flash, such as iOS devices or the new Chrome for Android browser.

Unicode over 60 percent of the web
Friday, February 10, 2012 - 17:26
Computers store every piece of text using a “character encoding,” which gives a number to each character. For example, the byte 61 stands for ‘a’ and 62 stands for ‘b’ in the ASCII encoding, which was launched in 1963. Before the web, computer systems were siloed, and there were hundreds of different encodings. Depending on the encoding, C1 could mean any of ¡, Ё, Ą, Ħ, ‘, ”, or parts of thousands of characters, from æ to 品. If you brought a file from one computer to another, it could come out as gobbledygook.

Unicode was invented to solve that problem: to encode all human languages, from Chinese (中文) to Russian (русский) to Arabic (العربية), and even emoji symbols like or
; it encodes nearly 75,000 Chinese ideographs alone. In the ASCII encoding, there wasn’t even enough room for all the English punctuation (like curly quotes), while Unicode has room for over a million characters. Unicode was first published in 1991, coincidentally the year the World Wide Web debuted—little did anyone realize at the time they would be so important for each other. Today, people can easily share documents on the web, no matter what their language.

Every January, we look at the percentage of the webpages in our index that are in different encodings. Here’s what our data looks like with the latest figures*:

*Your mileage may vary: these figures may vary somewhat from what other search engines find. The graph lumps together encodings by script. We detect the encoding for each webpage; the ASCII pages just contain ASCII characters, for example. Thanks again to Erik van der Poel for collecting the data.
As you can see, Unicode has experienced an 800 percent increase in “market share” since 2006. Note that we separate out ASCII (~16 percent) since it is a subset of most other encodings. When you include ASCII, nearly 80 percent of web documents are in Unicode (UTF-8). The more documents that are in Unicode, the less likely you will see mangled characters (what Japanese call mojibake) when you’re surfing the web.

We’ve long used Unicode as the internal format for all the text Google searches and process: any other encoding is first converted to Unicode. Version 6.1 just released with over 110,000 characters; soon we’ll be updating to that version and to Unicode’s locale data from CLDR 21 (both via ICU). The continued rise in use of Unicode makes it even easier to do the processing for the many languages that we cover. Without it, our unified index it would be nearly impossible—it’d be a bit like not being able to convert between the hundreds of currencies in the world; commerce would be, well, difficult. Thanks to Unicode, Google is able to help people find information in almost any language.

Posted by Mark Davis, International Software Architect
An update on the Google bar
Thursday, February 9, 2012 - 23:09
Two months ago, we announced our plans to roll out a new design for the Google bar. Our goal was to create a beautifully simple and intuitive experience across Google. Based on your feedback, we realized there were some elements of the new bar that we could improve, and with that in mind, we’re introducing an updated version that we believe will provide a better experience.

The new design retains many of the feature changes we made in November that proved popular, including a unified search box and Google+ sharing and notifications across Google. The biggest change is that we’ve replaced the drop-down Google menu with a consistent and expanded set of links running across the top of the page.



We'll be rolling out this new version of the Google bar over the next few weeks. In the meantime, we invite you to read about the new design in our Help Center, and send us your feedback.

Posted by Eddie Kessler, Technical Lead
Congratulations to Amit Singhal on his election to NAE
Thursday, February 9, 2012 - 20:06
This morning, the National Academy of Engineering (NAE) announced the election of 66 new members, including our very own Amit Singhal, Google Fellow and lead on Google Search. Amit joins a list of nine of us Googlers who have previously been recognized by the NAE: Sergey Brin, Vint Cerf, Jeff Dean, Sanjay Ghemawat, Larry Page, Eric Schmidt, Dick Sites, Ken Thompson and myself.

Election to the NAE is among the highest professional distinctions accorded to an engineer. The Academy recognized Amit for his contributions to information retrieval and search, where Amit has creatively applied and extended the science of information retrieval to new heights that were almost unthinkable when the field was founded. In so doing, he has had a tremendous and beneficial impact on the world with sustained excellence of Google’s search.

Amit was similarly recognized by the Association of Computing Machinery two months ago. I encourage you to read more about his important contributions in our blog post from December. Congratulations to Amit!

Posted by Alfred Spector, VP, Google Research
Drupal 6: Adding color support to your theme
Thursday, February 9, 2012 - 18:00

Sacha Chua (via DrupalFire)

We spent a few hours trying to figure out how to use Color to make our custom Drupal 6 theme configurable. Color rewrites your CSS to include the user-configured colours, and adds the resulting stylesheet link to your header.

The first trick was to get the colour picker to show up on the theme settings page. The documentation wasn’t clear, but the easiest way to get started seems to be to copy the color/ directory from the Garland theme into a subdirectory of your theme, and then customize it from there. You will also need to follow the Drupal 6 or Drupal 7-specific instructions for calling the Color module when preprocessing pages.

Color searches your style.css (and imported stylesheets or other stylesheets defined by the ‘css’ part of your $info array) for colour definitions. Any colour that exactly matches one of the colours defined in the default scheme is replaced by the colour in the selected scheme, with the caveat that the base colour should not appear in the stylesheet. If the base colour is found in the stylesheet, it will be replaced by an empty string. In your stylesheet, make sure your base colour uses the shortened version (ex: replace #cccccc with #ccc) or use a very similar colour instead (ex: #cbcbcb).

So, the easy way to colourize your theme:

  1. Enable Color, if you haven’t yet.
  2. Copy the color directory from the Garland theme into your theme

Color will attempt to figure out unspecified colours based on those colours’ relationship with the base colour. This can lead to interesting combinations. If there are colours you do not want Color to change, put them in a section after a comment like this:

/*******************************************************************
* Color Module: Don't touch *
*******************************************************************/

All colours specified after that comment will not be rewritten.

Some gotchas to watch out for:

  • It’s probably a good idea to add a comment to your style.css reminding developers to resubmit the colour settings after making changes to the stylesheet. Color rewrites the stylesheet, so changes aren’t picked up until the stylesheet is regenerated.
  • The Color preview appears to use hardcoded HTML. The gradient is created by color.js, and there doesn’t seem to be a way around it. Our workaround is to use CSS to hide both the preview and the header above it. Unfortunately, there is no div that encloses both the header and the preview.

Read the original or check out the comments on: Drupal 6: Adding color support to your theme (Sacha Chua's blog)

Going gothic with bestselling author Anne Rice
Wednesday, February 8, 2012 - 18:51
Bestselling Southern American author Anne Rice is coming to Google headquarters to discuss her latest book, The Wolf Gift, on Friday, February 24 at 10am PT. One of the most popular authors of contemporary fiction, Rice has bewitched readers with her vampire chronicles, tales of the Mayfair Witches and other metaphysical gothic fiction for more than thirty years. Submit your question online between now and Feb 23 at midnight PT, and it could be asked during the Interview with the Vampire—we mean, the interview with Anne Rice. To watch the live broadcast, tune in to the Authors@Google YouTube channel on February 24 at 10am PT. If you miss it, the recording will be posted in its entirety after the interview is over. For more information on Anne Rice and her new book, read the full post on the Google Books blog.
Location, Location, Location: SEO, Google Places, Structured Data, and Geositemaps
Wednesday, February 8, 2012 - 16:00

Lullabot (via DrupalFire)

A client that has a lot of physical locations asked me how to improve search engine optimization (SEO) for those locations. They have web pages for each of their locations and were concerned about making sure all those individual location pages are getting ranked well. This doesn't seem to be a very well documented subject, but I found a number of ways to make sure that Google and other search engines know more about the physical locations that are related to a web site.

Google, in particular, has been making locative information more important than ever. If Google has any information about where I am located (and it usually does), it will push results in my location to the top of the search results list for any term I search for. For instance, if I search for 'Coffee' into a normal Google search, I get results like this, even though I didn't add anything about my location in my search terms. This makes it clear that having accurate location information in my web site must be very important.

Node.js and Drupal
Tuesday, February 7, 2012 - 20:45

Four Kitchens (via DrupalFire)

Drupal is a great platform, but it can’t do everything. As your site grows, you’ll likely encounter use cases that Drupal can’t or shouldn’t do. Some examples include interacting with third-party APIs while preserving good page loads, or performing repeated actions (polling, etc) that result in site updates. Fortunately, separating these kinds of problems from Drupal and moving them to specialized “sub-stacks” within or near your Drupal stack is easy to do.

Enter Node.js. If you’re unfamiliar with it, Node.js is described as follows:

[…] a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

- From nodejs.org

The relevant part of this description that I’ll be focusing on is node’s “event-driven, non-blocking” model.

Third-party API communication

It’s becoming more common to integrate Drupal sites with third-party APIs. API integration is a great way of making your site more powerful without having to build a lot of functionality yourself. The problem is that a lot of third-party APIs are slow. A normal Drupal session runs in a single thread and blocks until all code finishes executing. If you are communicating with a third party during a user session, you can end up degrading user experience through slow page loads, confusing error messages, etc.

Handling this problem with Drupal queues is becoming more popular, and for good reason. Queueing API requests takes the transport out of the user session and shouldn’t affect user experience, but it also means your requests have to tolerate some delay (until the next time the queue is processed). We’re starting to see this more frequently on large Drupal sites and the trade off between user experience and immediate data propagation isn’t always an easy one to balance with clients.

So in this example, Node.js’s “event-driven, non-blocking” model means that you don’t need to wait for the API to respond before you can respond to Drupal. Node.js accomplishes this using callbacks, which if you’ve used jQuery before you should be fairly familiar with. The program will make a call and continue working, and when a response comes back, the callback will be executed. When written correctly, you can achieve nearly parallel execution of tasks — something that’s very difficult, and often impossible, to do in Drupal.

So how about an example of doing this? Consider a case where you want to update a third-party API with user information when the user’s profile is saved. Normally you would wait for the API to respond during the page request, but if you use Node.js as an API relay, the node server will immediately respond that it received the request, allowing the page load to finish quickly. The node server will then relay the request to the API. When a response is received it will call back Drupal with the results. Conceptually, it looks like this:

Moving the API communication out of Drupal allows you to speed up page requests and split off functionality that’s not well suited to a blocking model. There are many places you can typically do this with Drupal, not solely limited to API communication.

Repetitive jobs in Node.js

Another area that’s a good candidate for a Node.js-Drupal marriage is in repetitive jobs that need to be run very frequently. Again, Drupal queues can fulfill some of this need, but if you need to repeat the job very frequently, Drupal-based solutions are not usually ideal due to their high overhead (having to bootstrap Drupal every time you need to repeat the job). It would be better to bootstrap Drupal only when there’s work that actually needs to be done.

An example of this could be polling an external API for data that needs to be added to your site. Thanks to node’s event driven model in relatively few lines of code it can perform this action without generating a lot of overhead on the server while it’s waiting to repeat:

var http = require('http');
var options = {
host: 'localhost',
path: '/poll'
};
var interval = setInterval(
function pollSomething() {
http.get(options, function onGet(res) {
res.on('end', function onEnd() {
// Do something!
});
});
},
1000
);

This code will repeat a get request to http://localhost/poll every one second. When the response is complete you can add some logic to determine if Drupal needs to do any work, then make another call to Drupal with the payload from localhost. Any site-specific business logic still remains in Drupal, you’re just offloading the grunt work to an engine that’s more efficient at doing it.

Proof of concept

To see some real-world examples of the two use cases I’ve described here, check out the following code:

The key as a developer is to remember that Drupal is great at a lot of things — just not everything. If there’s another tool that’s better suited to the job you’re trying to do, use it! Just because Drupal is usually flexible enough for you to get it to do what you want doesn’t mean that you should bend it that way.

Introducing Chrome for Android
Tuesday, February 7, 2012 - 17:44
In 2008, we launched Google Chrome to help make the web better. We’re excited that millions of people around the world use Chrome as their primary browser and we want to keep improving that experience. Today, we're introducing Chrome for Android Beta, which brings many of the things you’ve come to love about Chrome to your Android 4.0 Ice Cream Sandwich phone or tablet. Like the desktop version, Chrome for Android Beta is focused on speed and simplicity, but it also features seamless sign-in and sync so you can take your personalized web browsing experience with you wherever you go, across devices.



Speed
With Chrome for Android, you can search, navigate and browse fast—Chrome fast. You can scroll through web pages as quickly as you can flick your finger. When searching, your top search results are loaded in the background as you type so pages appear instantly. And of course, both search and navigation can all be done quickly from the Chrome omnibox.

Simplicity
Chrome for Android is designed from the ground up for mobile devices. We reimagined tabs so they fit just as naturally on a small-screen phone as they do on a larger screen tablet. You can flip or swipe between an unlimited number of tabs using intuitive gestures, as if you’re holding a deck of cards in the palm of your hands, each one a new window to the web.


One of the biggest pains of mobile browsing is selecting the correct link out of several on a small-screen device. Link Preview does away with hunting and pecking for links on a web page by automatically zooming in on links to make selecting the precise one easier.

And as with Chrome on desktop, we built Chrome for Android with privacy in mind from the beginning, including incognito mode for private browsing and fine-grained privacy options (tap menu icon, ‘Settings,’ and then ‘Privacy’).

Sign in
You can now bring your personalized Chrome experience with you to your Android phone or tablet. If you sign in to Chrome on your Android device, you can:
  • View open tabs: Access the tabs you left open on your computer (also signed into Chrome)—picking up exactly where you left off.
  • Get smarter suggestions: If you visit a site often on your computer, you'll also get an autocomplete suggestion for it on your mobile device, so you can spend less time typing.
  • Sync bookmarks: Conveniently access your favorite sites no matter where you are or which device you’re using.


Chrome is now available in Beta from Android Market, in select countries and languages for phones and tablets with Android 4.0, Ice Cream Sandwich. We’re eager to hear your feedback. Finally, we look forward to working closely with the developer community to create a better web on a platform that defines mobile.

Posted by Sundar Pichai, SVP, Chrome and Apps

(Cross-posted from the Chrome blog and on the Mobile blog)
Boilerplate 1.0 for Drupal 7: Responsive HTML5 & SASS
Tuesday, February 7, 2012 - 16:54

Metal Toad Media (via DrupalFire)

Our new theme has just been released!

This theme was developed with a few goals. Great HTML5 support based on the excellent Boilerplate HMTL5 template, full SASS support, and a base fixed/flexible responsive layout similar to Zen but with built in mobile support, all while keeping the code base small. Like Basic, the stripped down version of Zen, this is designed to run alone, not to run as a master theme with sub themes.

What’s your X? Amplifying technology moonshots
Tuesday, February 7, 2012 - 02:10
Last week, we ran an experiment. We hosted a gathering, called “Solve for X,” for experienced entrepreneurs, innovators and scientists from around the world. The event focused on proposing and discussing technological solutions to some of the world’s greatest problems. Discussions began last week with this small event, and now we invite others to join the conversation on our website and our Google +page.

The Solve for X gathering, which we co-hosted with Eric Schmidt, is a place to celebrate a concept we champion internally and that we believe will inspire many others: technology moonshots. These are efforts that take on global-scale problems, define radical solutions to those problems, and involve some form of breakthrough technology that could actually make them happen. Moonshots live in the gray area between audacious projects and pure science fiction; they are 10x improvement, not 10%. That’s partly what makes them so exciting.



Moonshots can come from anywhere—people of all ages and places, companies, academia, inspired experts, enthusiastic newcomers, and often from accidental discoveries. Take this Solve for X talk by Adrien Treuille, a professor of computer science and robotics at Carnegie Mellon University. He proposes that going forward significant science and technological advances will come from individual contributors—independent of their official affiliations or training. It sounds implausible, but he makes the case by discussing EteRNA and Foldit, scientific discovery games where individual gamers are lapping the best computer programs in DNA folding and RNA nano-fabrication problems. Rob McGinnis, co-founder of Oasys, suggests in his Solve for X talk that fresh water could be produced everywhere in the world at less than one-tenth the energy input or cost to the environment of what’s possible today. It sounds too good to be true because the world needs fresh water so very desperately, yet Rob is exploring dramatic technological breakthroughs in desalination to make this moonshot into a possible reality.

You can watch these videos and others on our site now, and we will add more in the coming week. Just wait to hear Mary Lou Jepsen’s Solve for X talk on how it may literally be possible to take pictures of the mind’s eye! The potential impact of this technology on the way we communicate, preserve memories and understand ourselves is staggering. Or consider Daphne Preuss, a leading geneticist who moved from academia to pursue plant genetics in order to help make the planet healthier and find ways to feed more people. She doesn’t plan to take on her moonshot herself, but she has a strong vision for what it would take to get it done and why it’s so important.

Our gathering last week brought together a group that is already practiced at moonshot thinking to propose specific solutions. At least a few times a year, we hope that people will take a few hours or a day or two out of their busy schedules to dare to push the boundaries, and to consider moonshot approaches to some of the world’s many unresolved challenges. Solve for X isn’t about developing a new business line or building an investment portfolio. Rather, it aims to be a forum where technology-based moonshot thinking is practiced, celebrated and amplified. We invite you to come collaborate with us at www.wesolveforx.com.

Posted by Astro Teller & Megan Smith, co-hosts of Solve for X
Eating my words on github
Monday, February 6, 2012 - 23:36

Károly Négyesi (via DrupalFire)

Two years ago I wrote a blog post about why not to use github. I simply was wrong. As jQuery won the JS framework war so did git won the DVCS war and one of the reasons is actually github. I have been using github to host private projects for my clients and the service / workflow is really top notch -- fork from the UI, hack, send a pull request, comment the diff line-by-line, do the minor fixes in the online editor on spot, click the merge button, done. Nicely done.

Supporting U.S. student veterans with a new scholarship
Monday, February 6, 2012 - 23:03
The newest addition to the Google scholarships family is the Google Student Veterans of America (SVA) Scholarship. We’re partnering with the nonprofit Student Veterans of America (SVA) to support their mission of providing veterans with the resources, support and advocacy they need to succeed in higher education and throughout their careers. The Google SVA Scholarship is available to student veterans who are pursuing degrees in computer science and related fields in the U.S. for the 2012-2013 academic year. In addition to the financial award, recipients will be invited to attend the annual all-expenses-paid scholars’ retreat at the Googleplex in Mountain View, Calif. in the summer of 2012.

We have a long history of helping university students pursue computer science education with scholarship and internship opportunities. Since our first scholarships were awarded in 2004, we’ve provided over $8.8 million dollars of financial support to 2,100 students from historically underrepresented groups worldwide. Our academic scholarship programs are just one part of our global effort to increase the diversity of the technology industry and invest in the next generation of computer scientists. This mission includes ensuring that student veterans in the U.S. have the support they need to pursue technology education and careers.

Google’s commitment to military veterans extends beyond our educational outreach efforts. The Google Veterans Network, one of our 18 employee groups dedicated to supporting diversity and inclusion at Google, fosters a community of support for our military veterans, reservists, guardsmen, family members and friends. In 2011, we introduced a customized job search engine called the Veterans Job Bank in partnership with the Department of Veterans Affairs. Members of our veterans’ community also partnered with the Google Creative Lab to launch Chrome for Wounded, Ill and Injured Warriors and to create Google for Veterans and Families, a new online resource that brings together our free products and platforms for service members and their families. As a Google engineer and a Marine veteran, I’m proud of our commitment to diversity and of our efforts to bring other veterans into the world of technology and computer science.

The deadline to apply for the Google SVA Scholarship is March 15, 2012.

For complete scholarship details, visit our scholarship programs page.

Posted by Dan Cross, Software Engineer

(Cross-posted from the Google Student blog)

Ed Walsh

Recent Comments