Friday, March 19, 2010

[Gd] Dev Update: Fix for tabs hanging after drag

| More

Google Chrome Releases: Dev Update: Fix for tabs hanging after drag

We have released Google Chrome 5.0.356.2 to the Dev channel on Windows and Mac to fix an issue where dragging anything with your mouse would freeze the tab. See issue 38414.

--Mark Larson, Google Chrome Team
URL: http://googlechromereleases.blogspot.com/2010/03/dev-update-fix-for-tabs-hanging-after.html

[Gd] Faster Subversion Hosting

| More

Google Code Blog: Faster Subversion Hosting

When we launched our first Subversion-on-Bigtable service for Google Project Hosting in 2006 our goal was to scale to support hundreds of thousands of projects, with the idea that we could continue to improve the service over time. A year ago, however, we realized that we would have to rebuild our Subversion service to make dramatic improvements in performance. So, we did what we had to do: we rebuilt our service from the ground up, focusing on speed and reliability.

We are now happy to announce that we have rolled out our new service to all our Subversion users. As a result, most common Subversion operations are about 3 times faster than they used to be.

One of the features of Subversion's HTTP-based protocol is that anyone can browse repositories through a normal web browser. Many open source projects hosted on Google Code use this feature to host websites for their project or post the latest versions of their software. We didn't anticipate how popular this would be when we designed our first Subversion service, but our new system has special optimizations for browser access. Latency for these pages are much lower and international users will see a dramatic improvement. We also set the appropriate caching headers, which can be manually controlled with the google-cache-control Subversion property.

To improve our reliability, our new service now has a custom replication system based on the Paxos algorithm. Whenever you make a change to your repository, the new data is now copied to several different data centers before our service reports that the commit has succeeded --- so you can code in peace knowing that your data is stored safely in multiple locations.

If you haven’t already, we encourage you to try out our new Subversion service and let us know what you think.

By Jon Trowbridge and Tony Zale, Google Project Hosting
URL: http://googlecode.blogspot.com/2010/03/faster-subversion-hosting.html

[Gd] Working with multilingual websites

| More

Official Google Webmaster Central Blog: Working with multilingual websites

Webmaster Level: Intermediate

A multilingual website is any website that offers content in more than one language. Examples of multilingual websites might include a Canadian business with an English and a French version of its site, or a blog on Latin American soccer available in both Spanish and Portuguese.

Usually, it makes sense to have a multilingual website when your target audience consists of speakers of different languages. If your blog on Latin American soccer aims to reach the Brazilian audience, you may choose to publish it only in Portuguese. But if you’d like to reach soccer fans from Argentina also, then providing content in Spanish could help you with that.

Google and language recognition


Google tries to determine the main languages of each one of your pages. You can help to make language recognition easier if you stick to only one language per page and avoid side-by-side translations. Although Google can recognize a page as being in more than one language, we recommend using the same language for all elements of a page: headers, sidebars, menus, etc.

Keep in mind that Google ignores all code-level language information, from “lang” attributes to Document Type Definitions (DTD). Some web editing programs create these attributes automatically, and therefore they aren’t very reliable when trying to determine the language of a webpage.

Someone who comes to Google and does a search in their language expects to find localized search results, and this is where you, as a webmaster, come in: if you’re going to localize, make it visible in the search results with some of our tips below.

The anatomy of a multilingual site: URL structure


There's no need to create special URLs when developing a multilingual website. Nonetheless, your users might like to identify what section of your website they’re on just by glancing at the URL. For example, the following URLs let users know that they’re on the English section of this site:

http://example.ca/en/mountain-bikes.html
http://
en.example.ca/mountain-bikes.html

While these other URLs let users know that they’re viewing the same page in French:

http://example.ca/fr/mountain-bikes.html
http://fr.example.ca/mountain-bikes.html


Additionally, this URL structure will make it easier for you to analyze the indexing of your multilingual content.

If you want to create URLs with non-English characters, make sure to use UTF-8 encoding. UTF-8 encoded URLs should be properly escaped when linked from within your content. Should you need to escape your URLs manually, you can easily find an online URL encoder that will do this for you. For example, if I wanted to translate the following URL from English to French,

http://example.ca/fr/mountain-bikes.html

It might look something like this:

http://example.ca/fr/vélo-de-montagne.html

Since this URL contains one non-English character (é), this is what it would look like properly escaped for use in a link on your pages:

http://example.ca/fr/v%C3%A9lo-de-montagne

Crawling and indexing your multilingual website


We recommend that you do not allow automated translations to get indexed. Automated translations don’t always make sense and they could potentially be viewed as spam. More importantly, the point of making a multilingual website is to reach a larger audience by providing valuable content in several languages. If your users can’t understand an automated translation or if it feels artificial to them, you should ask yourself whether you really want to present this kind of content to them.

If you’re going to localize, make it easy for Googlebot to crawl all language versions of your site. Consider cross-linking page by page. In other words, you can provide links between pages with the same content in different languages. This can also be very helpful to your users. Following our previous example, let’s suppose that a French speaker happens to land on http://example.ca/en/mountain-bikes.html; now, with one click he can get to http://example.ca/fr/vélo-de-montagne.html where he can view the same content in French.

To make all of your site's content more crawlable, avoid automatic redirections based on the user's perceived language. These redirections could prevent users (and search engines) from viewing all the versions of your site.

And last but not least, keep the content for each language on separate URLs - don't use cookies to show translated versions.

Working with character encodings


Google directly extracts character encodings from HTTP headers, HTML page headers, and content. There isn’t much you need to do about character encoding, other than watching out for conflicting information - for example, between content and headers. While Google can recognize different character encodings, we recommend that you use UTF-8 on your website whenever possible.

If your tongue gets twisted...


Now that you know all of this, your tongue may get twisted when you speak many languages, but your website doesn’t have to!

For more information, read our post on multi-regional sites and stay tuned for our next post, where we'll delve into special situations that may arise when working with global websites. Until then, don't hesitate to drop by the Help Forum and join the discussion!

Written by Xavier deMorales, Google Search Quality
URL: http://googlewebmastercentral.blogspot.com/2010/03/working-with-multilingual-websites.html

[Gd] Dev Channel Update

| More

Google Chrome Releases: Dev Channel Update

The Dev channel has been updated to 5.0.356.0 for Mac.

Mac

  • [r41041] Implement Mac Address Book "me" card integration with Autofill. (Issue: 36496)
  • Various improvements to the bookmark folder menus.
  • [r40444] Fix beach ball/performance issues with the cookie manager. (Issue: 35134)
More details about additional changes are available in the svn log of all revision.

You can find out about getting on the Dev channel here:
http://dev.chromium.org/getting-involved/dev-channel.

If you find new issues, please let us know by filing a bug at
http://code.google.com/p/chromium/issues/entry

Anthony Laforge
Google Chrome
URL: http://googlechromereleases.blogspot.com/2010/03/dev-channel-update_3100.html

Thursday, March 18, 2010

[Gd] Dev Channel Update

| More

Google Chrome Releases: Dev Channel Update

The Dev channel has been updated to 5.0.356.0 for Windows, Linux, and Google Chrome Frame.

All
  • Form autofill enabled by default for new profiles. (Issue: 37466)
Windows

Linux

  • [r40587] Client SSL Certificate Support (UI) for Linux. (Issue: 25241)
  • [r40795] Renderers can now figure out how much memory they're using and release it properly. (Issue: 32519)
Chrome Frame
  • [r41754] Chrome frame should use "parentNode" instead of "parentElement" to get the DOM
  • [r41595] Better integration with host (InternetExplorer) popup blocker. (Issue: 34823)
Known Issues
  • Cannot drag anything (text of images) in a content area. For example, dragging a thumbnail on the new tab page hangs the page. (Issues: 38414, 38556)
More details about additional changes are available in the svn log of all revision.

You can find out about getting on the Dev channel here:
http://dev.chromium.org/getting-involved/dev-channel.

If you find new issues, please let us know by filing a bug at
http://code.google.com/p/chromium/issues/entry

Anthony Laforge
Google Chrome
URL: http://googlechromereleases.blogspot.com/2010/03/dev-channel-update_18.html

[Gd] Introducing the ANGLE Project

| More

Chromium Blog: Introducing the ANGLE Project

We're happy to announce a new open source project called Almost Native Graphics Layer Engine, or ANGLE for short. The goal of ANGLE is to layer WebGL's subset of the OpenGL ES 2.0 API over DirectX 9.0c API calls. We're open-sourcing ANGLE under the BSD license as an early work-in-progress, but when complete, it will enable browsers like Google Chrome to run WebGL content on Windows computers without having to rely on OpenGL drivers.

Current browser implementations of WebGL need to be able to issue graphics commands to desktop OpenGL to render content. This requirement isn't a problem on computers running OS X or Linux, where OpenGL is the primary 3D API and therefore enjoys solid support. On Windows, however, most graphics-intensive apps use Microsoft Direct3D APIs instead of OpenGL, so OpenGL drivers are not always available. Unfortunately, this situation means that even if they have powerful graphics hardware, many Windows machines can't render WebGL content because they don't have the necessary OpenGL drivers installed. ANGLE will allow Windows users to run WebGL content without having to find and install new drivers for their system.

Because ANGLE aims to implement most of the OpenGL ES 2.0 API, the project may also be useful for developers who are working on applications for mobile and embedded devices. ANGLE should make it simpler to prototype these applications on Windows, and also gives developers new options for deploying production versions of their code to the desktop.

We hope that other WebGL implementors and others in the graphics community will join us to make ANGLE successful! For more info on ANGLE and to access the code repository, visit the new project on Google Code or join our discussion group.

Posted by Henry Bridge, Product Manager
URL: http://blog.chromium.org/2010/03/introducing-angle-project.html

[Gd] Synonyms made easy

| More

Google Custom Search: Synonyms made easy

The Custom Search team is always working to provide more relevant results, and improving user queries is a big part of that goal. We've shown you how to create refinement labels for queries and create custom synonyms for your search engine. We have been working to improve the ease of management of these features.

Today, we're excited to announce that we've made it easier than ever for Custom Search and Site Search administrators to enable advanced synonym options. Now, you can add sets of synonyms specific to your website content and can also trigger search expansion, so that a query automatically triggers results for synonymous terms.

Google already has a large body of synonym data for general search terms, and since Custom Search lets you harness many of the search features of Google.com, you shouldn't bother replicating this functionality. Instead, focus on adding synonyms for queries specific to your website.

It's easy for you to add synonyms to your accounts; simply log into the control panel and add or delete search terms you want to trigger the synonym expansion. Or, if you have a large number of terms to add, you can create an XML file and quickly upload that to your account.

You can add up to 500 variants for each search engine. For more information you can check out the Custom Search API documentation.

As shown above, there's a new Synonyms link on the control panel. Try it out on your search engine.

Posted by: Tianyu Wen, Software Engineer
URL: http://googlecustomsearch.blogspot.com/2010/03/synonyms-made-easy.html

Wednesday, March 17, 2010

[Gd] Native Client and Web Portability

| More

Chromium Blog: Native Client and Web Portability

One of the most important principles of the web is portability: a web page renders and behaves the same way, regardless of the browser’s operating system or the type of hardware it’s running on. When we first released Native Client a year ago, we supported all popular operating systems (Windows, Mac OS X, and Linux) but only on machines with x86 processors. Today, we’re happy to say that you can build and run Native Client binaries for all of the most popular processor architectures: x86-32, x86-64, and ARM. Even better, our initial benchmarks indicate that Native Client executables perform at 97% of the speed of an unmodified executable on both ARM and x86-64 processors. These results indicate that a browser running on virtually any modern computer or cell phone could run a fast, performance-sensitive Native Client application.

However, we recognize that just running on today’s most popular architectures isn’t enough; if a new processor architecture emerges, it should be able to run all Native Client modules already released without requiring developers to recompile their code. That’s why we’re also developing technology that will enable developers to distribute a portable representation of Native Client programs using LLVM bitcode. Using this technology, a browser running on any type of processor could translate the portable representation into a native binary without access to the source code of the program.

If you’d like to review our instruction-set support or give us feedback about the technology, please visit our project on Google Code and join our Google Group.

Posted by Brad Chen, Native Client Team
URL: http://blog.chromium.org/2010/03/native-client-and-web-portability.html

[Gd] AdWords Downtime: March 20th, 10am-2pm PDT

| More

AdWords API Blog: AdWords Downtime: March 20th, 10am-2pm PDT

We'll be performing routine system maintenance on Saturday, March 20th from approximately 10:00am to 2:00pm PDT. You won't be able to access AdWords or the API during this time frame, but your ads will continue to run as normal.

Best,
- Eric Koleda, AdWords API Team 
URL: http://adwordsapi.blogspot.com/2010/03/adwords-downtime-march-20th-10am-2pm.html

[Gd] Ignite at Google I/O 2010!

| More

Google Code Blog: Ignite at Google I/O 2010!

Ignite will be at this year’s Google I/O! Last year, we had talks on big data, cartography and DIY devices -- a "typical" Ignite line-up. This year, our line-up includes folks like Cheezburger CEO, Ben Huh, and digital artist, Aaron Koblin. However, we also want you! We want to hear your cool ideas, hacks, how-to's, and war stories.

Each Ignite talk is 5 minutes long -- with 20 slides and only 15 seconds a slide (they auto-advance) -- and I'll be hosting the talk at I/O. If you’re not sure what to talk about, watch Scott Berkun's excellent How and Why to Give an Ignite Talk.

Submit your talk by March 31st, and we’ll announce the selected speakers on April 3rd. Those who are chosen to give an Ignite talk will receive a free ticket to Google I/O.

If you need further inspiration, you can watch any of the hundreds of Ignite videos at Ignite Show.

By Brady Forrest, O'Reilly/Ignite

@brady

URL: http://googlecode.blogspot.com/2010/03/ignite-at-google-io-2010.html

[Gd] Stable Channel Update

| More

Google Chrome Releases: Stable Channel Update

The stable channel has been updated to 4.1.249.1036 for Windows, and includes the following features and security fixes (since 4.0):
  • Translate infobar.
  • Privacy features: content settings (cookies, images, JavaScript, plug-ins, pop-ups).
  • Disabling experimental new anti-reflected-XSS feature called "XSS Auditor". The feature is still experimental, and we're disabling it while we look into some serious performance issues in rare cases. Please see this post for more details about what the XSS Auditor is.

Please see this feature announcment post for more info about translate and privacy.

Security Fixes and rewards:
Please see the Chromium security page for more detail. Note that the referenced bugs may be kept private until a majority of our users are up to date with the fix.

Congratulations to Sergey Glazunov on receiving the first $1337 Chromium Security Rewardforbug 35724.
  • [28804] [31880] High Race conditions and pointer errors in the sandbox infrastructure.Credit to Mark Dowd, under contract to Google Chrome Security Team.
  • [30801] [33445] Low Delete persisted metadata such as Web Databases and STS.Credit to Google Chrome Security Team (Chris Evans) and RSnake of ha.ckers.org.
  • [33572] Medium HTTP headers processed before SafeBrowsing check.Credit to Mike Dougherty of dotSyntax, LLC.
  • [$500] [34978] High Memory error with malformed SVG.Credit to wushi of team509.
  • [$1337] [35724] High Integer overflows in WebKit JavaScript objects.Credit to Sergey Glazunov.
  • [36772] Medium HTTP basic auth dialog URL truncation.Credit to Google Chrome Security Team (Inferno).
  • [37007] Medium Bypass of download warning dialog.Credit to kuzzcc.
  • [$1000] [37383] High Cross-origin bypass.Credit to kuzzcc.
  • [$500] [Affected BETA only] [37061] High Memory error with empty SVG element.Credit to Aki Helin of OUSPG.

List of all changes:http://build.chromium.org/buildbot/perf/dashboard/ui/changelog.html?url=/branches/249/src&range=38071:41527&mode=html


- Orit Mazor, Google Chrome Team
URL: http://googlechromereleases.blogspot.com/2010/03/stable-channel-update.html

Tuesday, March 16, 2010

[Gd] [Language][Update] 27 New Virtual Keyboard Layouts

| More

Google AJAX API Alerts: [Language][Update] 27 New Virtual Keyboard Layouts

Added layouts for:
  • Bengali - Phonetic
  • Brazilian Portuguese
  • Danish
  • Dutch
  • Devanagari - Phonetic
  • Estonian
  • Ethiopic
  • French
  • Gujarati - Phonetic
  • Gurmukhi - Phonetic
  • Icelandic
  • Italian
  • Kannada - Phonetic
  • Lithuanian
  • Latvian
  • Malayalam - Phonetic
  • Maltese
  • Norwegian
  • Oriya - Phonetic
  • Romanian
  • Sanskrit - Phonetic
  • Swedish
  • Tamil - Phonetic
  • Tatar
  • Telugu - Phonetic
  • Uzbek - Cyrillic Phonetic
  • Uzbek - Cyrillic Typewritter
URL: http://ajax-api-alerts.blogspot.com/2010/03/languageupdate-27-new-virtual-keyboard.html

[Gd] Dev Update: Mac Bookmarks and Autofill fixes

| More

Google Chrome Releases: Dev Update: Mac Bookmarks and Autofill fixes

Google Chrome 5.0.342.5 has been released to the Dev channel on all platforms. This release has
  • A lot of improvements to the bookmark bar on the Mac.

    Note that there’s still an issue with folders with a lot of bookmarks. When you open the folder on the bookmarks bar, the list may extend below the bottom of the screen and you won’t be able to access the bookmarks at the bottom. A fix is coming soon. A workaround is to use the bookmark menu in the menu bar.

  • A lot of improvements to the quality of form Autofill.
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: http://dev.chromium.org/getting-involved/dev-channel.

If you find new issues, please let us know by filing a bug at http://code.google.com/p/chromium/issues/entry.

--Mark Larson, Google Chrome Team
URL: http://googlechromereleases.blogspot.com/2010/03/dev-update-mac-bookmarks-and-autofill.html

[Gd] Creating standalone search results pages with the element

| More

Google Custom Search: Creating standalone search results pages with the element

With the launch of Custom Search themes, you have the ability to select from among a set of result styles, as well as decide on the layout for the search box and search results. Specifically, we offer commonly-used layouts: full-width (search box and search results together), 2-column (search box and search results in separate areas of the webpage), and compact (perfect for search widgets on a page, as well as for mobile search results). These layouts all provide an in-line search experience so that users don’t need to leave the page they are currently on.

Some webmasters, however, prefer to have the search results show up on a different page from the search box, so we wanted to let you know how to do this. We have a detailed post on the AJAX API blog with specific instructions.

As always, let us know if you have other questions we can answer.

Posted by: Jeff Scudder, Developer Programs Engineer
URL: http://googlecustomsearch.blogspot.com/2010/03/creating-standalone-search-results.html

[Gd] Happy 5th Birthday Google Code!

| More

Google Code Blog: Happy 5th Birthday Google Code!

How time flies! It was about five years ago that we launched Google Code to the world. When we launched Google Code, we wanted to make code.google.com a great resource where developers could learn about our vision for open source and the open web. We started in 2005 with a handful of our own open source projects, links to just eight APIs and an announcement of the first ever Google Summer of Code, our now-annual program that introduces university students to open source development. By 2006 our API list had grown to 21, in 2007 there were 37, and today our collection of more than 60 APIs receive over four billion hits per day. Check out the changing face of Google Code below -- from 2005, 2007 to the present.



With the meaning of open in mind, Google Code set out to foster best practices in developer documentation, build a community around web and open source development and demonstrate the power of Google technologies. Over the past five years code.google.com has come a long way from eight APIs, maturing into a destination for developers to explore our growing family of APIs and developer products, whether they speed up the web, alleviate cross-browser issues, make hosting web applications easy and scalable or make the web a more social place.

Google Code has also become an interactive place to share ideas. Not only can developers prototype their work in a Code Playground, they can also use Project Hosting on Google Code, a fast, reliable and easy way for developers to host all kinds of open source projects. Today, there are more than 240,000 projects registered, with commits coming in at about 17,000 per day...about 1 every 5 seconds. We also host 800 open source projects of our own, including four projects (Android, Chrome, Chrome OS and GWT) with over a million lines of code each.

It’s been an amazing five years, but there’s still a lot of work ahead. We’re dedicated to helping the developer and open source communities thrive in as many ways as we can. To celebrate our birthday and thank everyone for supporting code.google.com over the years we’re rolling out a new, faster Subversion server, which will double the source code storage for Project Hosting on Google Code from 1GB to 2GB. Happy coding!

By Chris DiBona, Open Source Programs Manager
URL: http://googlecode.blogspot.com/2010/03/happy-5th-birthday-google-code.html

[Gd] Dev Channel Update for Chrome Frame

| More

Google Chrome Releases: Dev Channel Update for Chrome Frame

The Dev channel has been updated to 5.0.350.1 for Google Chrome Frame.

  • [r40547]
    Fix a crash in ChromeFrame which would occur if we clicked both mouse buttons on a link. (Issue: 37220)
  • [r40897]
    ChromeFrame now uses host provided popup blocker. (Issue: 34823)
  • [r41595] Better integration with host (InternetExplorer) popup blocker. (Issue: 34823)

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

You can find out about getting on the Dev channel here: http://dev.chromium.org/getting-involved/dev-channel.

If you find new issues, please let us know by filing a bug at http://code.google.com/p/chromium/issues/entry

Anthony Laforge
Google Chrome

URL: http://googlechromereleases.blogspot.com/2010/03/dev-channel-update-for-chrome-frame.html

[Gd] Search Form and Results on Two Different Pages

| More

Google AJAX APIs Blog: Search Form and Results on Two Different Pages

One of the major advantages of an Ajax style search box is that users can perform their queries and get their results without leaving the page. However, some webmasters prefer that their users go to a separate results page after they enter a search. The Ajax search library supports this "two-page" use case as well, and since this is a question that we see from time to time we've set up a simple demo site.

To create this page we wrote a simple form in HTML and added JavaScript to add the "Google Custom Search" branding in the search box. View source to see all the details.

When the user submits the form, they are taken to a results page which has the following HTML structure:

    <div id="results">Loading...</div>

We then tell the search library to draw its search box and results in the div we just created:

        // Draw the control in content div
customSearchControl.draw('results');

Since the user came to this page from our search form, their query terms are now part of the page URL, so all we need to do now is extract them and execute their query:

      function getQuery() {
var url = '' + window.location;
var queryStart = url.indexOf('?') + 1;
if (queryStart > 0) {
var parts = url.substr(queryStart).split('&');
for (var i = 0; i < parts.length; i++) {
if (parts[i].substr(0, 1) == 'q') {
return unescape(parts[i].split('=')[1].replace(/\+/g, ' '));
}
}
}
return '';
}

// See the source code of the results page for full details.

...


// Run a query
customSearchControl.execute(getQuery());

There is one more optional setting that you might be interested in. The second page which we've just created contains a search box that will allow the user to perform searches on this same page. If you would prefer for the search box not to appear on this results page we can add the following HTML to the page:

    <input style="display:none" id="hidden-input" />

We hide the input box because we don't want the Ajax search library to render the usual query input box, just to show the results. We then tell the search library to draw its search box in the hidden input, making it invisible:

        // Set drawing options to use our hidden input box.
var drawOptions = new google.search.DrawOptions();
drawOptions.setInput(document.getElementById('hidden-input'));

// Change the draw call to include our new options.
customSearchControl.draw('results', drawOptions);

To see an example of a two-page search setup with a hidden query input, visit this page.

To learn more about the Google Custom Search API, read our documentation. If you run into any problems while setting this up, post your question in our discussion group or hop on our IRC channel.

URL: http://googleajaxsearchapi.blogspot.com/2010/03/search-form-and-results-on-two.html

[Gd] Enabling Single Sign on with OpenID for the Google Apps Marketplace

| More

Google Apps Developer Blog: Enabling Single Sign on with OpenID for the Google Apps Marketplace

Users of cloud-based business applications shouldn’t have to create, remember and maintain new credentials for each of the many apps that they use. With applications on the Google Apps Marketplace, they don’t need to-- these applications allow users to login with their existing Google Apps accounts using OpenID.

We chose to power our Single Sign On (SSO) using OpenID because it’s the predominant open standard for federated identity on the web. The protocol is supported by a large number of OpenID identity providers and many sites around the web accept it. And to make Single Sign On easy to access, Marketplace apps also plugin to both the universal navigation bar inside Gmail, Calendar, Docs, and Sites, as well as the administrative control panel.

To enable the Single Sign On experience for Marketplace apps, developers simply need to add a universal navigation link and an OpenID realm to their application manifest. Adding these elements is easy-- it’s just a snippet of XML:

<Extension id="navLink" type="link">
<Name>Amazing Cloud App</Name>
<Url>http://www.example.com/home.php?domain=${DOMAIN_NAME}</Url>
</Extension>

<Extension id="realm" type="openIdRealm">
<Url>http://www.example.com</Url>
</Extension>

With this XML in the application manifest, a link called “Amazing Cloud App” will appear in the universal navigation of all Google Apps. If one of the realms specified in the manifest file precisely matches the openid.realm in the OpenID request, then the user will be seamlessly signed into the app after clicking on the link in the universal navigation (without seeing a typical OpenID interstitial allow/deny page).

Of course, you’ll also need code in your application which accepts OpenID logins. In addition to open source libraries, here are a few companies that are making it easier for cloud applications to integrate with the Google Apps Marketplace. Their code provides simple APIs with which developers can integrate, leaving some of the complexities of the OpenID protocol to be implemented by the experts -- no need to hand-roll your own OpenID code.

  • JanRain
    JanRain’s open source PHP and Ruby OpenID libraries and on-demand RPX solution enabled the implemention of OpenID for many of the companies that launched on the Google Apps Marketplace by writing simple code or web service calls.
  • Ping Identity
    Ping’s PingFederate is an on-premise service that allows SaaS applications to easily accept OpenID and SAML-based logins by integrating with their libraries or using their web server or application server plug-ins.
  • TriCipher
    TriCipher’s myOneLogin Identity Services is an on-demand application that allows developers to accept OpenID, SAML and other federation protocols by writing simple web service calls.

Their are plenty of open source OpenID libraries available for other platforms, such as OpenID4Java (using Step2 code for Google Apps) and DotNetOpenAuth. More information on implementing Single Sign On in Google Apps Marketplace apps can be found on code.google.com.

If you need additional information on building apps for the Google Apps Marketplace, see the Developer’s Overivew on code.google.com.

Posted by Ryan Boyd, Google Apps Marketplace Team
URL: http://googleappsdeveloper.blogspot.com/2010/03/enabling-single-sign-on-with-openid-for.html

Monday, March 15, 2010

[Gd] Windows Beta Update

| More

Google Chrome Releases: Windows Beta Update

The Google Chrome Beta channel for Windows has been updated to 4.1.249.1036. 


Release highlights:

  • Translate infobar [UMA, 37734]

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


--Orit Mazor, Google Chrome Team
URL: http://googlechromereleases.blogspot.com/2010/03/windows-beta-update.html

[Gd] OpenSocial 1.0 spec published

| More

OpenSocial API Blog: OpenSocial 1.0 spec published

With so many different types of websites adopting OpenSocial it has become clear that a "one size fits all" approach isn't appropriate for the OpenSocial spec. Containers have different types of data they want to make available to clients (sometimes it's social data, sometimes it's not), and some want to expose that data via web services, while others wish to use gadgets. As such, modularity was a key goal in the OpenSocial 1.0 iteration, allowing implementers to pick and choose the elements of OpenSocial that make sense for their use cases. OpenSocial 1.0 also defines extension points so containers can add functionality not covered in the spec, but do so in a standard way, making it easier to fold such extensions back into the spec or share extensions across containers.

To accommodate the varied use cases of OpenSocial containers, OpenSocial 1.0 has been revised to include four compliance models:
  • Core API Server - For containers that wish to expose data in a standard way though web services.
  • Core Gadget Server - For containers that simply want to be able to render gadgets.
  • Social API Server - For containers that wish to expose social data through standard web services that are consistent across containers.
  • Social Gadget Server - For containers that want to render gadgets and provide them access to standard social data.
The spec itself has been reorganized along these lines as well, consolidating all data definitions into the Core Data Spec and Social Data spec, and creating a separate file for each of the four compliance models.

Posted by Lane LiaBraaten, on behalf of the OpenSocial Community
URL: http://blog.opensocial.org/2010/03/opensocial-10-spec-published.html

[Gd] Fireside chats at Google I/O

| More

Google Code Blog: Fireside chats at Google I/O

At Google I/O (just 2 months away!), we're excited to bring back a series of sessions called fireside chats. Fireside chats are smaller, intimate sessions where Google teams will talk about major developments with their product, what's in store for developers, and spend most of the time answering burning questions from the audience.

I/O will feature the following fireside chats:
  • Fireside chat with the Android team
    Speakers: The Android team with Chris DiBona moderating

    Pull up a chair and join the Android team at Google for a fireside chat. It's your opportunity to ask us about the platform and to tell us where you'd like to see it go in the future.

  • Fireside chat with Android handset manufacturers
    Come join us for a fireside chat with the top Android handset manufacturers. Hear about the types of devices being planned for 2010 and get your device-specific questions answered.

  • Fireside chat with the App Engine team
    Speakers: Brett Slatkin, Guido van Rossum, Matt Blain, Max Ross, Don Schwarz, Alfred Fuller, Kevin Gibbs, Sean Lynch
    It's been an busy year for the App Engine team with lots of new features and lots of new developers. Come tell us about what you've loved and what still bugs you. With several members of the App Engine team on deck, you'll get the answers to your questions straight from the source.

  • Fireside chat with the Google Chrome and Chrome OS teams
    Speakers: Ian Fette, Brian Rakowski, Linus Upson, Caesar Sengupta, Matt Papakipos

    Curious about what's new in Google Chrome, or what makes Google Chrome OS so exciting? We'll talk briefly about the major developments over the past year, and then field questions from the audience. If you're dying to know something, this is the place to find an answer.

  • Fireside chat with the Enterprise team
    Speakers: Chris Vander Mey, Scott McMullan, Ryan Boyd, David Glazer, Ken Lin

    With the launch of the Google Apps Marketplace, we've introduced a new way to expose your software to businesses - and a new way to extend Google Apps. If you're interested in building apps, what we're thinking about, or if you have other questions about the Marketplace, pull up a chair.

  • Fireside chat with the Geo team
    Speakers: Thor Mitchell, Peter Birch, Matt Holden, Ben Appleton, Bart Locanthi, Thatcher Ulrich

    Here's your opportunity to pick the brains of the people behind the Maps, Earth, and Maps Data APIs! We'll take a quick walk through the milestones of the last year, and then open it up to your questions. Don't miss your opportunity to get the straight scoop on all that's new in the world of Google Geo APIs.

  • Fireside chat with the GWT team
    Speakers: Bruce Johnson, Joel Webber, Ray Ryan, Amit Manjhi, Jaime Yap, Kathrin Probst, Eric Ayers

    If you're interested in what the GWT team has been up to since 2.0, here's your chance. We'll have several of the core engineers available to discuss the new features and frameworks in GWT, as well as to answer any questions that you might have.

  • Fireside chat with the Social Web team
    Speakers: David Glazer, DeWitt Clinton, John Panzer, Joseph Smarr, Sami Shalabi, Todd Jackson

    Social is quickly becoming an integral part of how we experience the web, and this is your chance to pick the brains of the people who are working on Buzz, the Buzz API and the underlying open protocols such as Activity Streams and OAuth which are an essential component of a truly open & social web.
You can check out the fireside chats and other sessions on code.google.com/io. The teams are looking forward to your questions!


Posted by Christine Tsai, Google I/O team

URL: http://googlecode.blogspot.com/2010/03/fireside-chats-at-google-io.html