Friday, September 7, 2012

[Gd] Fridaygram: more in maps, Voyager goes on, forecast humor

| More

Google Developers Blog: Fridaygram: more in maps, Voyager goes on, forecast humor

Author Photo
By Scott Knaster, Google Developers Blog Editor

While many of us have been on vacation recently, our maps team has been keeping the world informed with new features and data for travelers and locals. Just in the past couple of weeks, there’s a bunch of new stuff, including:

Auckland map
  • Voice-guided, turn-by-turn directions and live traffic info added for thousands of towns in India as part of Google Maps Navigation (Beta).
  • Biking directions in New Zealand. Plus, bicycle people can use Map Maker to add or edit bike lane and trail information.
  • New street view images for more than 150 university campuses, adding to more than 100 that were already available.
Maybe the Maps folks are taking holidays after all. It’s just that they’re mapping the places they visit.

Speaking of traveling and mapping, no human-made object has traveled farther from Earth than Voyager 1. Now 35 years and two days into its journey, Voyager is nearing the edge of the solar system. We Fridaygrammed about that once before, and we told you that Voyager was leaving our system soon, but now it looks like Voyager is taking its sweet time in departing, and it might be two to three more years before it exits into interstellar space. We’ll keep on top of this story for you.

Voyager is going where no one has gone before, and the man who introduced us to that phrase received his own quiet tribute earlier this week from the U.S. National Hurricane Center. Nicely done, Forecaster Cangialosi. (And we’ve done our own tribute in today’s Google Doodle.)

Code: the final frontier. These are the posts of the Google Developers Blog. Our mission: to seek out Google developer news, except on Fridays, when random nerd fun takes over. Your mission: have a great weekend!

[Gd] Winners of the Google I/O Develop for Good global hackathon

| More

Google Developers Blog: Winners of the Google I/O Develop for Good global hackathon

Author PhotoBy Anna de Paula Hanika,

Cross-posted with the Blog

This year during Google I/O more than 30,000 developers gathered at 350+ I/O Extended events in 172 countries around the world. While they came together to see the Nexus 7 unveiled and a death-defying Project Glass demo, we invited them to participate in the Develop for Good hackathon. Over the past couple of months we’ve been reviewing submissions and today are proud to share the winning team in each category.

Google Green - Help us all be a little bit greener!

A team from the GDG Karachi Extended event in Pakistan developed a concept for ‘Green It’ — a Google+ based app that would allow users to report local environmental concerns, gain validation of the issue via nearby smartphone users and aggregate reports in a public online interface. Users would be encouraged to participate through a rewards system.

screen shot

Google Ideas - Conflict reporting for blackout situations in repressive regimes

A team from the San Francisco Extended event developed a product concept for Silent Lens; an Android application which would allow citizens to safely send encrypted image-based messages over multi-modal ad-hoc mesh networks. The app would allow citizens to anonymously report issues or violence in repressive regimes when other phone or Internet connections may be temporarily limited, or intermittently severed.

Google Politics & Elections - Citizen Engagement for Politics & Elections

A team from the Lagos GDG I/O Extended event at the Co Creation Hub in Nigeria built a prototype for Assembly Bills — a web based platform that can help Nigerian citizens provide input on legislative bills and policy remotely, without having to fly across the country to the capital of Lagos to provide input in person, as is currently necessary. Keep an eye out for their new site!

Winning teams received tickets to attend I/O 2013, along with the honorary title of "Google Developer for Good, 2012". Congratulations to the winners, and a huge thanks to all participants for their hard work. We look forward to seeing the winning teams build out their ideas!

Anna de Paula Hanika is a Product Marketing Manager on the team, currently focused on Google's Green and Giving efforts, and all things related to using technology to make the world a better place.

Posted by Scott Knaster, Editor

[Gd] GDG DevFest season: community-organized developer events

| More

Google Developers Blog: GDG DevFest season: community-organized developer events

Author Photo
By Uttam Tripathi, Developer Relations Team

Just a couple of months ago developers from all over the world gathered for Google I/O, our annual developer conference in San Francisco. Now the community of Google Developer Groups (GDG) is taking the initiative to organize a series of GDG DevFest events worldwide.

DevFest logo

GDG DevFests are powered by a shared belief that when developers come together to exchange ideas, amazing things can happen. These community-run events offer technical sessions, hackathons, and code labs across different Google product areas. Each GDG DevFest is uniquely tailored to the needs of the developer community that hosts it.

This year’s global GDG DevFest season will see events from London to Shanghai, Bangalore to Buenos Aires, Auckland to Mountain View and beyond. Our inaugural GDG DevFest season kicks off September 21 and continues through November 11.

map of devfest locations

We would love to see more events across the world. These are community-organized events, so if you don’t see an event in your area and are interested in having one, check out the next steps here. Do visit as more and more locations share their plans.

See you at your local GDG DevFest!

Uttam Tripathi is a Program Manger on the Developer Relations Team. Uttam is coordinating this year's GDG DevFest program worldwide and is in charge of developer outreach in India.

Posted by Scott Knaster, Editor

[Gd] Beta Channel Update

| More

Chrome Releases: Beta Channel Update

The Beta channel has been updated to 22.0.1229.36 for Windows, Mac, and Linux.  A complete log of what changed can be found in the svn revision log.  Instructions and download links for our different release channels are available on the Chromium wiki.  If you find what you think is a new bug, please file it in our issue tracker.

Jason Kersey
Google Chrome

[Gd] Beta Channel Update for Chrome OS

| More

Chrome Releases: Beta Channel Update for Chrome OS

The Beta channel has been updated to 22.0.1229.33 (Platform version: 2723.63.0) for Chromebooks (Acer AC700, Samsung Series 5 550, Samsung Chromebook Series 3, and Cr-48) and Samsung Chromebox Series 3. This build contains a number of functional and stability improvements.

Highlights of these changes are:
  • Wifi stability fixes
  • Fixed 137357 - 3G roaming disabled notification does not accurately reflect roaming status
  • Fixed 140909 - Right click on items in file manager now shows appropriate actions for filetypes
  • Fixed 143577 - Offline page re-load was being triggering too early
  • Updated Pepper Flash

If you find new issues, please let us know by visiting our
help site or filing a bug. Interested in switching channels? Find out how. You can submit feedback using ‘Report an issue’ under the wrench menu.

Danielle Drew
Google Chrome

Thursday, September 6, 2012

[Gd] Simplifying Migration from VBA to Google Apps Script

| More

Google Apps Developer Blog: Simplifying Migration from VBA to Google Apps Script

Editor’s Note: Guest author Bruce McPherson is a contributor to the Excel Liberation website and blog. -- Eric Koleda

If you are new to Google Apps Script and the JavaScript programming language, migrating legacy automation code written in Microsoft's Visual Basic for Applications (VBA) can be a daunting task. This blog post describes a Google Apps Script library which mimics the behavior and calling structure of common VBA functions, allowing you to more easily convert your existing applications.

Retaining compatibility

If you are planning to continue to use VBA, you can minimize both the work involved in maintaining the same capability in both platforms, and in porting from one to the other, by preserving backwards compatibility with VBA. This means breaking a few JavaScript conventions, but the result is worth it.

For example, JavaScript variables are normally written in lowerCamelCase, with classes being in UpperCamelCase. VBA is not case sensitive, and uses hungarian notation by convention, except for the built-in functions, which have a capitalized first letter. Since the objective here is to minimize change, I have decided to retain this capitalization for VBA functions replacements (for example CStr(), Mid() etc. ).

In VBA, indices (normally) start at 1, while in JavaScript they start at 0. Since these functions are to minimize change in application written in VBA, they also start at 1. For example Mid(x, 1, 2) means the first 2 characters of
string x in both VBA and JavaScript versions.

Enumeration of collections

JavaScript does not have a collection object. The vEquivalents library provides an implementation of a collection class so that continuity for migrated code that relies on the collection can be maintained. But how to enumerate through that collection? There are a number of ways, but the forEach() method of the collection most closely resembles the 'For Each member in collection' approach VBA developers are familiar with. The syntax may seem a little fiddly at first, since it passes the code you want executed against each member of the collection as an anonymous function.

var coll = new collection();
// by index
for (var i=1; i <= coll.count() ;i++) {
DebugPrint (coll.item(i));
// by key
for (k in coll.keys()) {
DebugPrint (coll.item(k));
// forEach
function (item, index) {
DebugPrint (item, index);

Including vEquivalents in your Google Apps Script Project

With the great new libraries functionality, you can now include these scripts in your project by using the project key "MEQ3tE5y5_cTOAgUbUKSIAiz3TLx7pV4j", or you can make a copy of the scripts directly to include in your own project. You will find a selection of other scripts in the library, but the VBA equivalents are all in the module vEquivalents. Note that as you include external libraries in your project (see here for how), you need to prefix the functions with the library identifier (for example mcpher.CStr())


You can access the documentation here, and you will see that most of the common VBA functions are included. Some examples are

var x = Trim(s);
var x = Len(s);
var a = Split(s);
var x = Instr(1, s1, s2);
var d = DateSerial(y, m, d);
var x = InputBox(s);
DebugAssert (b, s);
var w = ActiveSheet();

Going beyond the built-in VBA functions

Using the same approach, I have converted many other VBA utility classes and procedures built over time and added them to this library. This means that the implementation of something on either platform not only looks the same, but can be accomplished in hours or even minutes. For example, on my blog I publish a daily API, implemented in both VBA and Apps Script (both versions even use ScriptDB for the same parameter data). Here's a recent one.

function testUkPostcodes() {
mcpher.generalDataSetQuery ("uk postcodes", "uk postcodes", "postcode");

Public Sub testUkPostcodes()
generalDataSetQuery "uk postcodes", "uk postcodes", "postcode"
End Sub

You can find more projects that have been migrated this way here.

Bruce McPherson   profile | twitter

Bruce McPherson is a contributor to Excel Liberation website and blog, and advocate for open data.


Tuesday, September 4, 2012

[Gd] Dev Channel Update

| More

Chrome Releases: Dev Channel Update

The Dev channel has been updated to 23.0.1255.0 for Windows, Mac, Linux and ChromeFrame platforms


  • Fixed a crash which occurred when scavenging sessionStorages. (Issue: 145068)
  • Packaged Apps can now request access to local media folders.
  • Fixed a bug causing Chrome shortcuts to stop working on Windows 8 after an update. (Issue: 143338)
  • Can't scroll down by entering space after switching tab when IME is enabled (Issue: 80772)
  • Can't type Japanese/Korean into a text field in a Flash application on Window Vista/7 using MS Japanese IME and MS Korean IME (Issue: 75556)
  • Fix crash when playing video on MB retina (Issue: 141541)

More details about additional changes are available in the svn log of all revisions.

You can find out about getting on the Dev channel here:

If you find new issues, please let us know by filing a bug at

Karen Grunberg
Google Chrome

[Gd] Chrome for iOS Update

| More

Chrome Releases: Chrome for iOS Update

The Chrome team is happy to announce the first update to Chrome for iPhone and iPad.  This version (Chrome 21 / 21.0.1180.80) brings in fixes to user-reported issues including:
  • Resolved compatibility issues w. certain websites including Yahoo! Mail
  • Fixes for blank Most Visited page
  • Fixes for issues when logging into some sites 
You can get the update via the App Store, or from the prompt inside of Chrome.  Known issues are available on the Chrome support site. If you find a new issue, please let us know by filing a bug.

Jason Kersey
Google Chrome

[Gd] Get your first Drive app up and running!

| More

Google Apps Developer Blog: Get your first Drive app up and running!

We keep adding new features to the Drive SDK and the Drive API, but always want to make it easy for new developers to get started. That’s why we are introducing a quickstart guide in 6 languages to run your first Drive app in less than 10 minutes: Java, Python, PHP, .NET, Ruby and Go.

At the end of this short guide, you’ll have:

  • set up your Google APIs Console project
  • installed the Google supported client library in your favorite language
  • run your first command-line app to authorize and upload a file to Google Drive

We are also covering this quickstart guide in our Google Developers Live sessions: Python, PHP and .NET are already available and check-out our schedule for the remaining languages.

Once you are up and running, add more features such as reading a file’s metadata and content, update an existing file, integrate with the Drive web UI and list your Drive app on the Chrome Web Store to drive in more users!

Questions, feedback? Let’s follow-up on StackOverflow under the google-drive-sdk tag.

Alain Vongsouvanh   profile

Alain is a Developer Programs Engineer working on the Google Drive SDK. Born and raised in Paris, he got exported to Google’s headquarters in Mountain View, CA.