Saturday, September 10, 2011

[Gd] Îñţérñåţîöñåļîžåţîöñ

| More

Official Google Webmaster Central Blog: Îñţérñåţîöñåļîžåţîöñ

Webmaster level: Intermediate

So you’re going global, and you need your website to follow. Should be a simple case of getting the text translated and you’re good to go, right? Probably not. The Google Webmaster Team frequently builds sites that are localized into over 40 languages, so here are some things that we take into account when launching our pages in both other languages and regions.

(Even if you think you might be immune to these issues because you only offer content in English, it could be that non-English language visitors are using tools like Google Translate to view your content in their language. This traffic should show up in your analytics dashboard, so you can get an idea of how many visitors are not viewing your site in the way it’s intended.)

More languages != more HTML templates

We can’t recommend this enough: reuse the same template for all language versions, and always try to keep the HTML of your template simple.

Keeping the HTML code the same for all languages has its advantages when it comes to maintenance. Hacking around with the HTML code for each language to fix bugs doesn’t scale–keep your page code as clean as possible and deal with any styling issues in the CSS. To name just one benefit of clean code: most translation tools will parse out the translatable content strings from the HTML document and that job is made much easier when the HTML is well-structured and valid.

How long is a piece of string?

If your design relies on text playing nicely with fixed-size elements, then translating your text might wreak havoc. For example, your left-hand side navigation text is likely to translate into much longer strings of text in several languages–check out the difference in string lengths between some English and Dutch language navigation for the same content. Be prepared for navigation titles that might wrap onto more than one line by figuring out your line height to accommodate this (also worth considering when you create your navigation text in English in the first place).

Variable word lengths cause particular issues in form labels and controls. If your form layout displays labels on the left and fields on the right, for example, longer text strings can flow over into two lines, whereas shorter text strings do not seem associated with their form input fields–both scenarios ruin the design and impede the readability of the form. Also consider the extra styling you’ll need for right-to-left (RTL) layouts (more on that later). For these reasons we design forms with labels above fields, for easy readability and styling that will translate well across languages.

Screenshots of Chinese and German versions of web forms
click to enlarge

Also avoid fixed-height columns–if you’re attempting to neaten up your layout with box backgrounds that match in height, chances are when your text is translated, the text will overrun areas that were only tall enough to contain your English content. Think about whether the UI elements you’re planning to use in your design will work when there is more or less text–for instance, horizontal vs. vertical tabs.

On the flip side

Source editing for bidirectional HTML can be problematic because many editors have not been built to support the Unicode bidirectional algorithm (more research on the problems and solutions). In short, the way your markup is displayed might get garbled:

<p>ابةتث <img src="foo.jpg" alt=" جحخد"< ذرزسش!</p>

Our own day-to-day usage has shown the following editors to currently provide decent solutions for bidirectional editing: particularly Coda, and also Dreamweaver, IntelliJ IDEA and JEditX.

When designing for RTL languages you can build most of the support you need into the core CSS and use the directional attribute of the html element (for backwards compatibility) in combination with a class on the body element. As always, keeping all styles in one core stylesheet makes for better maintainability.

Some key styling issues to watch out for: any elements floated right will need to be floated left and vice versa; extra padding or margin widths applied to one side of an element will need to be overridden and switched, and any text-align attributes should be reversed.

We generally use the following approach, including using a class on the body tag rather than a html[dir=rtl] CSS selector because this is compatible with older browsers:


<body class="rtl">
<h1><a href=""><img alt="Google" src="" /></a> Heading</h1>

Left-to-right (default) styling:

h1 {
height: 55px;
line-height: 2.05;
margin: 0 0 25px;
overflow: hidden;
h1 img {
float: left;
margin: 0 43px 0 0;
position: relative;

Right-to-left styling:

body.rtl {
direction: rtl;
body.rtl h1 img {
float: right;
margin: 0 0 0 43px;

(See this in action in English and Arabic.)

One final note on this subject: most of the time your content destined for right-to-left language pages will be bidirectional rather than purely RTL, because some strings will probably need to retain their LTR direction–for example, company names in Latin script or telephone numbers. The way to make sure the browser handles this correctly in a primarily RTL document is to wrap the embedded text strings with an inline element using an attribute to set direction, like this:

<h2>‫עוד ב- <span dir="ltr">Google</span>‬</h2>

In cases where you don’t have an HTML container to hook the dir attribute into, such as title elements or JavaScript-generated source code for message prompts, you can use this equivalent to set direction where &#x202B; and &#x202C;‬ are Unicode control characters for right-to-left embedding:

<title>&#x202B;‫הפוך את Google לדף הבית שלך‬&#x202B;</title>

Example usage in JavaScript code:
var ffError = '\u202B' +'כדי להגדיר את Google כדף הבית שלך ב\x2DFirefox, לחץ על הקישור \x22הפוך את Google לדף הבית שלי\x22, וגרור אותו אל סמל ה\x22בית\x22 בדפדפן שלך.'+ '\u202C';

(For more detail, see the W3C’s articles on creating HTML for Arabic, Hebrew and other right-to-left scripts and authoring right-to-left scripts.)

It’s all Greek to me…

If you’ve never worked with non-Latin character sets before (Cyrillic, Greek, and a myriad of Asian and Indic), you might find that both your editor and browser do not display content as intended.

Check that your editor and browser encodings are set to UTF-8 (recommended) and consider adding a element and the lang attribute of the html element to your HTML template so browsers know what to expect when rendering your page–this has the added benefit of ensuring that all Unicode characters are displayed correctly, so using HTML entities such as &eacute; (é) will not be necessary, saving valuable bytes! Check the W3C’s tutorial on character encoding if you’re having trouble–it contains in-depth explanations of the issues.

A word on naming

Lastly, a practical tip on naming conventions when creating several language versions. Using a standard such as the ISO 639-1 language codes for naming helps when you start to deal with several language versions of the same document.

Using a conventional standard will help users understand your site’s structure as well as making it more maintainable for all webmasters who might develop the site, and using the language codes for other site assets (logo images, PDF documents) is handy to be able to quickly identify files.

See previous Webmaster Central posts for advice about URL structures and other issues surrounding working with multi-regional websites and working with multilingual websites.

That’s a summary of the main challenges we wrestle with on a daily basis; but we can vouch for the fact that putting in the planning and work up front towards well-structured HTML and robust CSS pays dividends during localization!

Posted by Kathryn Cullen, Google Webmaster Team

[Gd] A few adjustments to App Engine’s upcoming pricing changes

| More

Google App Engine Blog: A few adjustments to App Engine’s upcoming pricing changes

Last week we rolled out side-by-side billing to give you a more detailed preview of how you’ll be affected by the price changes that we announced in May. We received a variety of feedback and have made a few important changes based on it. Our intent is to be as open and transparent about the changes as possible and to give you enough time to prepare. In that spirit, our Engineering Director has also shared some of his personal thoughts.

We understand that the new rates surprised some of you. We’ve been listening closely to your feedback, and we wanted to share an update on the changes we’re making to help ensure you have an accurate picture of how the new pricing will affect your app. Although prices will increase, we’re confident that you’ll find App Engine still provides great value.

Based on your feedback we’re taking the following steps:

  • Extended review period: We’re now giving you almost eight weeks before introducing the new pricing. You now have until November 1 to configure and tune your application to manage your costs. 

  • Increased free Instance Hours: We are increasing the number of free Instance Hours from 24 to 28. This means that people who are using a free app to try out App Engine can run a single instance all day with a few spikes and still remain below our free quota.  This will be reflected in the comparison bills soon.

  • Extended discount: We’ll continue to offer the 50% discount on instance prices until December 1st, at which time Python 2.7 should be available. Python 2.7 will include support for concurrent requests, which could further lower your costs. 

  • Faster Usage Reports: We appreciate the importance of quickly being able to see the effect your tuning has on your bill and starting today we’ll provide your Usage Report (and the included comparison bills) within one day instead of the previous three. 

  • Better analysis tools: We are working on better ways for you to model the cost of your apps. We will add the “billing” line into the instances graph on the Admin Console. We’re adding datastore billing information into the dev console to making it easier for you to track how the changes you make affect your bill, which should also help lower the cost. 

  • Premier accounts: we know a lot of our customers are eagerly awaiting Premier accounts to get operational support, offline billing, unlimited accounts, and the SLA. So we will not wait until November 1st for this, but rather launch Premier accounts as soon as possible.  If you are interested in a Premier account, please contact us at

We also wanted to share some of the main ways for you to lower your bill and get a better sense of the true cost of App Engine:

  • Set Max Idle instances: Setting Max Idle Instances to a lower level will help lower your costs as we will only charge for idle instances up to the maximum you set. This could impact your performance so it’s worth reading up on the ramifications. 

  • Always-On reflected in bills: Currently the side-by-side bills still include the cost of always-on even though it will be retired when the new pricing launches (to be replaced by min idle instances). We’re working on a fix for this. Until then you can comfortably subtract 48 instance hours per day from the estimate. 

  • Reserved instance hours: The simplest way to lower the charge for instance hours is to consider using reserved instance hours. They are 37.5% cheaper than on-demand, but you do need to commit to a certain number of them over the course of a week. 

  • Managing resources: Check out this article, which provides more helpful advice on how to efficiently manage your resources and lower costs. 

We launched App Engine in preview three years ago to make it easier for you to build, maintain and scale web applications. Since then, we’ve added many features like Java and Go language support, created a High Replication Datastore, and added many other APIs. And there’s a lot more cool stuff to come. It’s heartening to us that so many developers- 150,000 and counting- have chosen to use App Engine to run their apps. While we can’t continue to offer App Engine at our original prices, we can commit to listening to your feedback, acting on it, and working hard to give you a great platform for your apps at the most competitive price possible. If you find that’s not the case, or have any questions about this at all, please feel free to contact us at

The App Engine Team

[Gd] Dev Channel Updates for Chromebooks

| More

Google Chrome Releases: Dev Channel Updates for Chromebooks

The Dev channel has been updated to 15.0.874.5 (Platform version: 1011.0) for Chromebooks (Acer AC700, Samsung Series 5, and Cr-48).

  • Fix several functionality and stability issues
  • Update the Netflix plugin to 1.2.3
  • File Manager fixes
  • New Flash
Known issues:
  • gmail : rendering issue seen on scrolling down long email thread (19931).
If you find new issues, please let us know by visiting our help site or filing a bug. You can also submit feedback using "Report an issue" under the wrench icon. Interested in switching to the Beta channel? Find out how.

Josafat Garcia
Google Chrome


[Gd] Fridaygram: Green Google, microscopic motor, lunar litter

| More

The official Google Code blog: Fridaygram: Green Google, microscopic motor, lunar litter

By Scott Knaster, Google Code Blog Editor

This week the Google Green Blog reported on Google’s use of energy in our buildings and data centers. All Google’s services combined use about as much energy per person in a month as a 60-watt light bulb burning for 3 hours, and the energy that is used is offset completely. You can read the details here, with a separate post describing our carbon offsets program.

Smart people at Tufts University used an infinitesimal amount of energy to power the smallest known electrical motor. The motor is a single molecule of butyl methyl sulphide, measuring a billionth of a meter across. Researchers are going to try to get a bunch of these molecules together to create super-tiny gears and see what cool things they can learn.

Bigger machines also made nerdy news this week. NASA released images that show evidence of human activity on the moon at the landing sites for Apollo 12, 14, and 17. The photos show where the lunar rover parked, tools used by the astronauts, and even astronaut footprints, all of which are intact 40 years after they were created. However, there is still no known photographic evidence of the Googlunaplex.

Fridaygram posts are just for fun. They're designed for your Friday afternoon and weekend enjoyment. Each Fridaygram item must pass only one test: it has to be interesting to us nerds.

Friday, September 9, 2011

[Gd] Tools to help monetize and mobilize your development: Announcing the Google Plugin for Eclipse 2.4

| More

Google Web Toolkit Blog: Tools to help monetize and mobilize your development: Announcing the Google Plugin for Eclipse 2.4

At this year’s Google I/O conference, we announced a beta version of the Google Plugin for Eclipse that added App Engine Tools for Android developers. A release aimed at removing the friction associated with building installable Android apps that rely on App Engine for server-side support. Since then we’ve not only been working on bug fixes and polish, but we’ve also added a couple of new features and today we’re excited to announce the GA release of GPE and GWT 2.4.

To jump right in, you can download this release from our main GWT download page.

The new features and functionality added since the beta release including the following:

App Engine Tools for Android - Incremental RPC Tooling

For Android developers that want to take advantage of App Engine for their server-side code we’ve added incremental RPC tooling to GPE 2.4. Back at Google I/O we demoed the ability to easily create a connected App Engine and Android project, as well as an RPC layer between the two (using Eclipse-based wizards). In the GA release of GPE 2.4 developers can now add server-side methods to their App Engine code and GPE will generate the necessary serialization and Android code on the fly.

For example, say I have an EmployeeService that exposes typical CRUD methods, but I want to write a custom query that looks for Employees with a start date after some specified date. As a developer all I need to do is write the server-side code and GPE will prompt me to do the rest.

Apps Marketplace Support

In the GA release of GPE 2.4 we’ve also focused on making it easier to monetize apps by adding tooling that allows developers to deploy their apps to the Google Apps Marketplace in the same manner as we enable App Engine deployment. Below are some of the key aspects of this support.

First, GPE 2.4 now has the ability to create a default sample application that will help developers understand how to build an app that utilizes Google APIs (in this case Calendar), handles authentication, and is deployable to the Google Apps Marketplace. The sample is straightforward, prompts the user for the domain it is installed into, and fetches the user’s next 10 calendar entries.

Second, GPE 2.4 helps developers quickly get their applications listed (and updated) within the marketplace by offering an easy-to-use wizard to gather the necessary data, and communicate with the Apps Marketplace backend systems.

GWT Designer Enhancements

We have made lots of exciting GWT Designer enhancements over the last few months as well. In addition to substantial startup and editing speed improvements, we have added split-view editing support for UiBinder so you can now see your UiBinder XML code side-by-side with the rendered layout. Even if you aren't a fan of editing in the design view, you can write code in the source view and see the UI instantly rendered in the design view.

We have also added direct CSS editing from within the GWT Designer property view. This makes it very easy to add new CSS styles or edit existing CSS styles just like any other GWT property.

Want to get started? Download the GA release of GPE and GWT 2.4 here. Note, to try out the App Engine tools for Android you’ll need to install the Android Developer Tools (ADT) plugin as a prerequisite, which can be found here.

If you have any feedback, we’d love to hear it and the GWT/GPE Group is the right place to submit it. The App Engine and Android Developer Groups are also great sources of information.

Chris Ramsdale, Product Manager, Developer Tools


[Gd] Google APIs Client Library for PHP (Beta)

| More

The official Google Code blog: Google APIs Client Library for PHP (Beta)

By Chirag Shah, Developer Programs Engineer

Today we are announcing a major milestone for another one of the Google APIs client libraries. The Google APIs Client Library for PHP has officially reached Beta.

This means we're comfortable enough with the stability and features of the library that we'd like you to start building real production applications on top of it and send us your feedback. The library now includes service-specific libraries and samples for several Google APIs, built on our new client library generation infrastructure.

The Google API PHP client supports the following Google APIs right now, with more on the way.
To grab the latest version of the library, simply run the following commands:
curl "" -O
tar -xvf google-api-php-client-0.4.1.tar.gz
cd google-api-php-client/examples/
Here is some sample code that demonstrates how to use the library and the Google Books API to search for and print the titles of free ebooks by Henry David Thoreau:
require_once 'path/to/src/apiClient.php';
require_once 'path/to/src/contrib/apiBooksService.php';

$client = new apiClient();
$service = new apiBooksService($client);

$optParams = array('filter' => 'free-ebooks');
$results = $service->volumes->listVolumes('Henry David Thoreau', $optParams);

foreach ($results['items'] as $item) {
print($item['volumeInfo']['title'] . '<br>');
Let us know what you think. We would love to hear your feedback and are always happy to help you out on the forums.

Since Google I/O 2010, we've been developing APIs that can provide descriptions of themselves via metadata. This new technique makes it easier to create and maintain client libraries that support more languages, work with more APIs, and are easier to use than ever before. This post announces one of several recent major milestones for our client libraries.

Chirag Shah is a Developer Programs Engineer on the Google+ team.
In his spare time, he enjoys listening to music and contributing to open source projects.

Posted by Scott Knaster, Editor


[Gd] Getting 3D Content on YouTube

| More

YouTube API Blog: Getting 3D Content on YouTube

Over the last few months, we've been steadily rolling out features for YouTube 3D. Early this year, we announced support for the LG Optimus 3D and NVIDIA 3D Vision, and this month we announced support for Samsung 3D TVs. And we'll keep rolling out to more platforms to make it easier for everyone to get access to user-generated 3D content. 

Many readers have been asking how to upload content. 3D uploads to YouTube will work across all supported devices, from red/blue glasses to the latest 3D televisions.

There are two ways to upload content to YouTube in 3D. If you're just uploading one or two videos, upload content in any supported format and then edit the video settings to tell us that it's 3D. From a video's watch page, select "edit info", then "3D Video". This will only work on videos you've uploaded yourself.

If you're using the API to upload 3D videos, you'll want to format your video in a certain way. YouTube supports automatic detection of 3D content with certain file formats. If you upload with a format that supports automatic detection, we'll automatically set the correct settings so that your video shows up automatically in 3D and shows up properly on phones, TVs, and PCs. 

In both cases, YouTube requires that content be uploaded in Side by Side L/R with each frame squashed 50% and preferably with a 16:9 aspect ratio. The following formats are automatically detected when uploaded:
  • WebM with the StereoMode setting set to STEREOMODE_TYPE_LEFT_RIGHT.Note that other modes, including alternate track, are not supported.
  • H264 AVC with Supplementary Enhancement Information, Frame Packing Arrangement set.If you are using x264, the argument --frame-packing=3 will set this correctly. In Handbrake you can set this in "x264 Advanced Option String".
Be sure to get the squashing and positioning exactly correct. 3D content won't look right if video formatting is off by even a pixel or two.
We're excited to see what you'll show us! Here's an idea from a favorite webcomic of ours.

—Jonathan Huang, YouTube 3D Product Manager

P.S.—We recently worked with some folks to help them get 3D Mars footage from 1979 restored from the Viking landers. Check it out!


Thursday, September 8, 2011

[Gd] Announcing Version 1.9 of the .NET Library for Google Data APIs

| More

Google Apps Developer Blog: Announcing Version 1.9 of the .NET Library for Google Data APIs

We have released version 1.9 of the .NET Library for Google Data APIs and it is available for download.

This version adds the following new features:

  • support for 3-legged OAuth
  • two new sample applications: BookThemAll (mashup of Calendar and Provisioning APIs) and UnshareProfiles (showcasing a new feature of the Google Apps Profiles API)
  • updates to the Content for Shopping API to implement 20+ new item attributes
  • support for new yt:rating system and Access Control settings to the YouTube API

This new version also removes the client library for the deprecated Google Base API and fixes 20 bugs.

For more details, please check the Release Notes and remember to file feature requests or bugs in the project issue tracker.

Claudio Cherubino profile | twitter | blog

Claudio is a Developer Programs Engineer working on Google Apps APIs and the Google Apps Marketplace. Prior to Google, he worked as software developer, technology evangelist, community manager, consultant, technical translator and has contributed to many open-source projects, including MySQL, PHP, Wordpress, Songbird and Project Voldemort.


[Gd] Visualize Your Data: Charts in Google Apps Script!

| More

Google Apps Developer Blog: Visualize Your Data: Charts in Google Apps Script!

Charts are a great way to communicate significant amounts of data. We’ve joined forces with the Google Chart Tools team in order to bring a new Charts API to Apps Script. Every day, millions of charts are created, updated, put into presentations, emailed to managers, and published as web pages. Our goal is to automate chart creation in Google Apps and make the sometimes-tedious tasks of chart creation and updating a little more fun!

Charts Ahoy!

Our initial launch includes six chart types. These can be attached to sites, sent as email attachments, or displayed using an Apps Script UiApp.

4 Easy Steps to Create Charts

Step 1 - Open Apps Script Editor

You can access the Apps Script Editor from a Spreadsheet or a Google Sites Page. To access the Apps Script Editor from a Spreadsheet, Open a New Spreadsheet > Tools > Script Editor. To open the Script Editor from a Google Sites, More > Manage Site > Apps Scripts > Add New Script.

Step 2 - Create a Data Table

To build a chart, the first thing you need is a data table. The data table contains the data for the chart as well as labels for each category. In general, data tables contain one column of labels followed by one or more columns of data series, with some variations. Read the documentation for the type of chart you’re creating to learn the exact data table format it expects. Here’s an example of how you’d create a data table in Apps Script to use with a column chart:
function doGet() {    
// Populate the DataTable. We'll have the data labels in
// the first column, "Quarter", and then add two data columns,
// for "Income" and "Expenses"
var dataTable = Charts.newDataTable()
.addColumn(Charts.ColumnType.STRING, "Quarter")
.addColumn(Charts.ColumnType.NUMBER, "Income")
.addColumn(Charts.ColumnType.NUMBER, "Expenses")
.addRow(["Q1", 50, 60])
.addRow(["Q2", 60, 55])
.addRow(["Q3", 70, 60])
.addRow(["Q4", 100, 50])

In the example above, we’ve hard-coded the data. You can also populate the table in any of these ways:
  • Fetch the data from an existing spreadsheet using SpreadsheetApp
  • With data from a UiApp form
  • Using our JDBC API
  • Using UrlFetch
  • Or any other way in which you can get an array of data using Apps Script.

Step 3 - Build a Chart using Data Table

Once you have the data table ready, you can start building the chart. Our top-level Charts class has Builders for each of the chart types we support. Each builder is configured for the specific chart you’re building, exposing only methods which are available for the specific chart type. For example, in a Line Chart you can make the angles smooth, in Bar and Column Charts you can stack up the data, and in Pie Charts you can make the whole chart 3D!Here’s an example of using the above data table to build a Column Chart:

// Build the chart.  We'll make income green and expenses red  
// for good presentation.
var chart = Charts.newColumnChart()
.setColors(["green", "red"])
.setDimensions(600, 400)
.setTitle("Income and Expenses per Quarter")

In the above chart, the only required methods are setDataTable() and build(), all of the others are optional. If you don’t set colors and dimensions, for instance, we’ll pick some default values for you. Use the different setter methods to customize your chart, however and whenever you feel like it.

Step 4 - Publish your chart in Documents, Email, Sites or UiApp

Once you’ve built your chart, there are different things you can do with it. For example, you can add it to an Apps Script UI. You can add a chart to any part of the UI that takes a widget, including the application itself. The following code snippet shows you how to publish a chart with UiApp.

// Add our chart to the UI and return it so that we can publish  
// this UI as a service and access it via a URL.
var ui = UiApp.createApplication();
return ui;}

Charts can also be used as Blobs. This allows Charts to be attached to Sites pages, saved to your Docs List, or attached to outgoing emails. The code below does all three of these things:

// Save the chart to our Document List  
var file = DocsList.createFile(chart);
file.rename("Income Chart");

// Attach the chart to the active sites page.
var page = SitesApp.getActivePage();
page.addHostedAttachment(chart, "Income Chart");

// Attach the chart to an email.
"Income Chart", // Subject
"Here's the latest income chart", // Content
{attachments: chart });

And that’s it. We hope you enjoy the new API. If your favorite chart is not here yet, or if you have ideas on how we could improve the API, please let us know in our forum. Finally, enjoy the income chart we’ve been building.

Gustavo Moura

Gustavo has been a Software Engineer at Google since 2007. He has been part of the Google Docs team since 2009. Prior to that, he worked on AdWords.

Want to weigh in on this topic? Discuss on Buzz

[Gd] Requiring SSL for Documents List, Spreadsheets and Sites APIs

| More

Google Apps Developer Blog: Requiring SSL for Documents List, Spreadsheets and Sites APIs

In March, we announced that we would start requiring clients to use SSL when making requests to the Google Documents List API, the Google Spreadsheets API, and the Google Sites API. This is part of our ongoing effort to increase the security of user data.

The time has come, and we are starting to roll out this requirement. On average, about 86% of requests to these APIs are already using SSL, so we expect there to be minimal migration required. The implementation will continue throughout September. If an application receives an HTTP 400 Bad Request response to a request, then it may be because the request was not made using HTTPS.

Clients that have not already started using SSL for all requests should do so immediately. This is as simple as upgrading to the latest version of the relevant API client library. Developers with questions should post in the API forums.

Ali Afshar profile | twitter

Ali is a Developer Programs engineer at Google, working on Google Docs and the Shopping APIs which help shopping-based applications upload and search shopping content. As an eternal open source advocate, he contributes to a number of open source applications, and is the author of the PIDA Python IDE. Once an intensive care physician, he has a special interest in all aspects of technology for healthcare.


[Gd] Beta Channel Update

| More

Google Chrome Releases: Beta Channel Update

The Beta channel has been updated to 14.0.835.159 for Windows, Mac, Linux, and Chrome Frame.

This release disables chrome:flags.  We are currently investigating some stability issues and are looking to see how greatly flags usage contributes to our stability metrics, hence we are temporarily disabling them.  To see what other changes went into this release check out our change log.

If you find a new issue, please let us know by filing a bug.

Anthony Laforge
Google Chrome

[Gd] Dev Channel Update

| More

Google Chrome Releases: Dev Channel Update

Note: Chrome Dev Channel has been updated to 15.0.874.5 for Windows, Mac, Linux, and Chrome Frame with the same changes as below.

The Dev channel has been updated to 15.0.874.0 for Windows, and Chrome Frame; 15.0.874.1 for Linux; 15.0.874.3 for Mac.

  • Updated V8
  • Fixed a possible sync crash triggered by encryption of all sync data.
  • The --enable-accelerated-plugins flag was changed to --disable-accelerated-plugins. Pepper Plugins are now accelerated by default.
  • Fixed a crash when deleting cookies from chrome://settings/clearBrowserData.
  • Enable new client-side phishing detection for non-UMA users (previously UMA-only). When local heuristics trigger, sends only limited information that does not identify the page, such as a prefix of the hash of the URL, and other non-identifiable features such as whether you've visited the page before. [r99582]
  • Fixed many known stability issues.
  • Fixed dragging of apps on NTP [r99110]
Full details about what changes are in this build are available in the SVN revision log.  Interested in switching to the Beta or Stable channels?  Find out how.  If you find a new issue, please let us know by filing a bug.

Dharani Govindan
Google Chrome

[Gd] Announcing a New OpenSocial and Emerging Social Technology Book

| More

OpenSocial API Blog: Announcing a New OpenSocial and Emerging Social Technology Book

Programming Social ApplicationsI'm happy to announce that, as of yesterday, Programming Social Applications is officially out in print. I normally wouldn't post on the OpenSocial blog about my own book but the content is specifically designed for this community, so it's a good fit. Within the book I cover topics on:
  • Building social applications and containers using Shindig and OpenSocial.
  • The vast array of features and functionality within the OpenSocial specification.
  • Front-end code security tools like Caja and ADsafe.
  • Authentication systems with OpenID
  • Authorization systems with OAuth 1.0a and 2.0
  • Emerging social technologies like Activity Streams, Open Graph Protocol, PubSubHubbub, Salmon and others.
I will be conducting a webcast through O'Reilly on October 4th, 2011 at 1pm PDT to talk with everyone about the technology within the book and explore some of the interesting emerging technologies that are upcoming. More details to come shortly.

You can purchase the book here or get a free sample here. For those of you that pick up the book, remember that Chapter 12 (OpenID / OAuth hybrid extension), Appendix I (Environment Setup) and Appendix II (Terms) are offered as an online only download from O'Reilly since the book was getting a little large and we didn't want to simply delete content.

Please send feedback and tell me what you think - I'd love to hear from the community!

Jonathan LeBlanc
Jonathan LeBlanc (@jcleblanc)
Jonathan LeBlanc is a principal developer evangelist with X.commerce. Jonathan has been a member of the OpenSocial community for over three years and is the author of O'Reilly's "Programming Social Applications".

[Gd] New features and a new home for Swiffy

| More

The official Google Code blog: New features and a new home for Swiffy

By Pieter Senster, Software Engineer

In June we released Swiffy, an experimental tool to convert Flash to HTML5, on Google Labs. We were thrilled with the response: in the first month, Swiffy users converted hundreds of thousands of files.

We received a lot of feedback from developers after the launch, and we learnt a lot from studying the warnings generated in the conversion process. As a result, we’ve released several improvements over the last few weeks. For example, Swiffy now supports shape tweening and drop shadow, blur and glow filters, all using SVG, CSS and JavaScript. Some of these filters can be seen in action in this Chrome ad (on a browser with SVG filter support).

We’ve also made Swiffy easier to use. You can now convert files of up to 1MB, and you’ll get a QR code to preview the output on a mobile device. We’ve also made it clear that you can host the Swiffy runtime (the JavaScript file that controls the animation) yourself if you need to.

Although Google Labs is winding down, Swiffy will continue to be available. We’re moving Swiffy to a new home: (or, for those in a hurry, Although it’s no longer a Labs product, it is still in beta, so it may not be able to convert all your Flash files, but we’re working to improve it all the time.

Pieter Senster is a Software Engineer on the Swiffy team. He's currently planning his first diving trip to the Great Barrier Reef.

Posted by Scott Knaster, Editor


Wednesday, September 7, 2011

[Gd] Beta Channel Update for Chromebooks

| More

Google Chrome Releases: Beta Channel Update for Chromebooks

The Google Chrome team is happy to announce the release of Chrome 14 on the Beta Channel for Chromebooks (Acer AC700, Samsung Series 5, and Cr-48).

Chrome version 14.0.835.157 (Platform version: 811.89)

Release highlights:
  • A number of security and stability fixes.
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.

Orit Mazor
Google Chrome

[Gd] Recognizing Top Contributors in Google's Help Forums

| More

Official Google Webmaster Central Blog: Recognizing Top Contributors in Google's Help Forums

The communities around Google products and services have been growing tremendously over the last couple of years. It is inspiring and motivating for us to see how many users like you contribute to Google Forums. For some time, we´ve been thinking of ways to thank our Top Contributors -- our most the passionate, helpful, friendly, and active users. These TCs have demonstrated incredible commitment to our communities and continue to share their profound knowledge by answering user questions within the forums.

TCs from all over the world will attend our first global summit in California.

We decided to give the online world a break for a moment and meet in real life to celebrate our past success and work on future endeavours. Google Forum Guides, Googlers that participate in the forums, and Top Contributors will convene for the first global Top Contributor Summit on September 13th and 14th in Santa Clara and Mountain View, California. During the Google-organized two-day event, Top Contributors will meet guides, engineers and product managers in order to get to know each other, provide feedback and share new ideas. We’ll be sharing some of the insights and takeaways after the event too, so stay tuned. And if you would like to follow the events online, look out for the #TCsummit tag on Twitter and our updates on Google+.

Posted by and , Search Quality Team

[Gd] [Libraries][Update] jQuery 1.6.3

| More

Google AJAX API Alerts: [Libraries][Update] jQuery 1.6.3

jQuery has been updated to 1.6.3

Sunday, September 4, 2011

[Gd] Stable Channel Update

| More

Google Chrome Releases: Stable Channel Update

The Stable channel has been updated to 13.0.782.220 for Windows, Mac, Linux, and Chrome Frame.

We're revoking trust for SSL certificates issued by DigiNotar-controlled intermediate CAs used by the Dutch PKIoverheid program. For more details about the security issues see the Google Security Blog post about DigiNotar and an update from Mozilla, who is also moving to revoke trust in these certificates.

If you find a new issue, please let us know by filing a bug.

Anthony Laforge
Google Chrome