Saturday, October 22, 2011

[Gd] New Public APIs in ICS

| More

Android Developers Blog: New Public APIs in ICS

Since Android is open-source, anyone can look at the code and see how it works inside. If you do this, you’ll notice that most but not all of the APIs are publicly documented.

If they’re publicly documented, they’re part of what we consider the Android Application Framework. This means their tests appear in the Compatibility Test Suite (CTS) so that our hardware partners have to prove that the APIs work, and that we promise to try very hard not to change them and thus break your code.

In almost every case, there’s only one reason for leaving APIs undocumented: We’re not sure that what we have now is the best solution, and we think we might have to improve it, and we’re not prepared to make those commitments to testing and preservation.

We’re not claiming that they’re “Private” or “Secret” — How could they be, when anyone in the world can discover them? We’re also not claiming they’re forbidden: If you use them, your code will compile and probably run. And in fact we know of quite a few apps out there whose developers have used undocumented APIs, often to good effect. It’s hard to get too upset about this in cases where there’s a useful API that we haven’t gotten around to stabilizing.

But the developers who use those APIs have to be prepared to deal with the situation that arises when we move them from the undocumented outside into the Android Application Framework. Fortunately, this is reasonably straightforward. Also we take a close look at Android Market, using our in-house analytics tools, to get a feel for the impact when we know one of these changes is coming.

There are a few such changes coming up in the Android 4.0 “Ice Cream Sandwich” (ICS) release of Android. We wanted to take the opportunity to combine these words on undocumented APIs with some specifics about the changes.

Calendars

Let’s start with the good news: As of ICS, the Android Framework will include a fully-worked-out set of APIs for accessing Calendar data. You can guess the bad news: Quite a few developers have built apps (including many good ones) using the undocumented Calendar APIs, some using fairly low-level access to the calendar database. Unfortunately, these integrations were unsupported, and prone to breakage by platform updates or OEM customization of calendar features.

We want to see lots of good calendar apps and extensions that work reliably across Android devices, and aren't broken by platform updates. So we decided to create a clean API, including a comprehensive set of Intents, to manage calendar data in ICS. Now anyone can code against these new APIs and know that Android is committed to supporting them, and that partners have to support these APIs as part of CTS.

Once the new APIs arrive, you’re going to have to update your apps before they’ll run correctly on ICS while still working on older releases. There are a variety of techniques for doing that, many of which have been featured on this blog, including reflection and lazy loading. Recently, we introduced Multiple-APK support, which could also be used to help with this sort of transition.

Text To Speech

Android has never really had a text-to-speech API at the Framework level, but there was unofficial access at the C++ level. With ICS, we will have a fully-thought-through application-level API running on Dalvik, so you can access it with ordinary Java-language application code.

The old C++ API will no longer be supported, but we’ll have a compatibility layer that you can use to bridge from it to the new API. We think it should be easy to update for ICS with very little work.

Doing the Right Thing

We recognize that this means some work for developers affected by these changes, but we’re confident that Android programs in general, and both Calendar and TTS apps in particular, will come out ahead. And we also think that most developers know that when they use undocumented APIs, they’re making a commitment to doing the right thing when those APIs change.

URL: http://android-developers.blogspot.com/2011/10/ics-and-non-public-apis.html

[Gd] Fridaygram: small world, little robots, tiny feature

| More

The official Google Code blog: Fridaygram: small world, little robots, tiny feature

Author Photo
By Scott Knaster, Google Code Blog Editor

Satellite images make the world seem smaller by letting us view images of buildings and neighborhoods that are thousands of miles away. The satellite views in Google Earth and Google Maps are updated periodically. Want to know when that happens? This week we added support for 43 more languages to Follow Your World, a web site that emails you when satellite images are updated for anywhere you like. Just enter a location and your email address, and you’ll be notified when a new aerial image is available.

Back on earth, engineers at UC Berkeley’s Biomimetic Millisystems Lab have an awesome job: they get to build little robot bugs. Recently, the team added wings to its 10-centimeter Dynamic Autonomous Sprawled Hexapod (DASH) robot to see how the alteration would affect mobility. The plastic wings helped DASH move faster and climb steeper hills, among other improvements.

Finally, here’s a tiny new feature: if you do a Google search for ip, you’ll see your computer’s IP address. Handy!

And also: check out today’s Google Doodle, which honors the birthday of Mary Blair, a Disney Legend known for her work on It’s a Small World and many other theme park and movie projects. (If you’re reading this after October 21st, you can see the Doodle on our archive page within a few days.)


Small explanation: Fridaygram posts are lighter than our usual stuff, meant to provide a little geeky fun at the end of the week.

Updated at 4:30 PM to say that Follow Your World added language support this week, rather than launching.

URL: http://googlecode.blogspot.com/2011/10/fridaygram-small-world-little-robots.html

Friday, October 21, 2011

[Gd] Dev Channel Update

| More

Chrome Releases: Dev Channel Update


The Dev channel has been updated to 16.0.912.4 for Windows, Mac, Linux, and Chrome Frame.

All
  • Updated V8 - 3.6.6.5
  • Fixed stability issue in Print and Instant
Mac
  • Fixed bugs introduced in the last Dev Channel release with Pepper 3D on Mac OS X, primarily affecting Native Client applications using OpenGL.(Issue: 100507)
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
URL: http://googlechromereleases.blogspot.com/2011/10/dev-channel-update_20.html

[Gd] Beta Channel Update

| More

Chrome Releases: Beta Channel Update

The Beta channel has been updated to 15.0.874.100 for Windows, Mac, Linux, and ChromeFrame platforms



All
  • Updated V8 - 3.5.10.22
  • Numerous buffering fixes and optimizations for HTML5 media elements. (99775, 99749, 100439)
  • Tuned the omnibox to recognize more types of inputs as intranet navigations (99131, 94806)
  • Fixed several crashes and hangs (98975, 98948, 98955, 96861)
  • Fixed Omnibox enters keyword search mode incorrectly (95454)
Linux
  • Fixed partially visible toolbar in fullscreen mode (97177)
More details about additional changes are available in the svn log of all revisions.

You can find out about getting on the Beta 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

Karen Grunberg
Google Chrome

URL: http://googlechromereleases.blogspot.com/2011/10/beta-channel-update_19.html

Thursday, October 20, 2011

[Gd] App Engine SSL for Custom Domains in Testing

| More

Google App Engine Blog: App Engine SSL for Custom Domains in Testing

The long awaited SSL for Custom Domains is entering testing and we are now looking for trusted testers. If you are interested in signing up to test this feature, please fill in this form.





We will be offering two types of SSL service, Server Name Indication (SNI) and Virtual IP (VIP). SNI will be significantly less expensive than VIP when this service is launched, however unlike VIP it does not work in all browsers that support SSL. VIP is a premium service with a dedicated IP and full browser support. Both VIP and SNI support wildcard certificates and certificates with alternate names.


We look forward to making this widely available as soon as possible and as always we welcome your feedback in the group.




Posted by The App Engine Team
URL: http://googleappengine.blogspot.com/2011/10/app-engine-ssl-for-custom-domains-in.html

[Gd] Google Test Analytics - Now in Open Source

| More

Google Testing Blog: Google Test Analytics - Now in Open Source


By Jim Reardon

The test plan is dead!

Well, hopefully.  At a STAR West session this past week, James Whittaker asked a group of test professionals about test plans.  His first question: “How many people here write test plans?”  About 80 hands shot up instantly, a vast majority of the room.  “How many of you get value or refer to them again after a week?”  Exactly three people raised their hands.

That’s a lot of time being spent writing documents that are often long-winded, full of paragraphs of details on a project everyone already knows to get abandoned so quickly.

A group of us at Google set about creating a methodology that can replace a test plan -- it needed to be comprehensive, quick, actionable, and have sustained value to a project.  In the past few weeks, James has posted a few blogs about this methodology, which we’ve called ACC.  It's a tool to break down a software product into its constituent parts, and the method by which we created "10 Minute Test Plans" (that only take 30 minutes!)

Comprehensive
The ACC methodology creates a matrix that describes your project completely; several projects that have used it internally at Google have found coverage areas that were missing in their conventional test plans.

Quick
The ACC methodology is fast; we’ve created ACC breakdowns for complex projects in under half an hour.  Far faster than writing a conventional test plan.

Actionable
As part of your ACC breakdown, risk is assessed to the capabilities of your appliciation.  Using these values, you get a heat map of your project, showing the areas with the highest risk -- great places to spend some quality time testing.

Sustained Value
We’ve built in some experimental features that bring your ACC test plan to life by importing data signals like bugs and test coverage that quantify the risk across your project.

Today, I'm happy to announce we're open sourcing Test Analytics, a tool built at Google to make generating an ACC simple -- and which brings some experimental ideas we had around the field of risk-based testing that work hand-in-hand with the ACC breakdown.


Defining a project’s ACC model.

Test Analytics has two main parts: first and foremost, it's a step-by-step tool to create an ACC matrix that's faster and much simpler than the Google Spreadsheets we used before the tool existed.  It also provides visualizations of the matrix and risks associated with your ACC Capabilities that were difficult or impossible to do in a simple spreadsheet.


A project’s Capabilities grid.

The second part is taking the ACC plan and making it a living, automatic-updating risk matrix.  Test Analytics does this by importing quality signals from your project: Bugs, Test Cases, Test Results, and Code Changes.  By importing these data, Test Analytics lets you visualize risk that isn't just estimated or guessed, but based on quantitative values.  If a Component or Capability in your project has had a lot of code change or many bugs are still open or not verified as working, the risk in that area is higher.  Test Results can provide a mitigation to those risks -- if you run tests and import passing results, the risk in an area gets lower as you test.


A project’s risk, calculated as a factor of inherent risk as well as imported quality signals.

This part's still experimental; we're playing around with how we calculate risk based on these signals to best determine risk.  However, we wanted to release this functionality early so we can get feedback from the testing community on how well it works for teams so we can iterate and make the tool even more useful.  It'd also be great to import even more quality signals: code complexity, static code analysis, code coverage, external user feedback and more are all ideas we've had that could add an even higher level of dynamic data to your test plan.


An overview of test results, bugs, and code changes attributed to a project’s capability.  The Capability’s total risk is affected by these factors.

You can check out a live hosted version, browse or check out the code along with documentation, and of course if you have any feedback let us know - there's a Google Group set up for discussion, where we'll be active in responding to questions and sharing our experiences with Test Analytics so far.

Long live the test plan!
URL: http://googletesting.blogspot.com/2011/10/google-test-analytics-now-in-open.html

[Gd] Join The W3C Social Business Jam

| More

OpenSocial API Blog: Join The W3C Social Business Jam

OpenSocial made significant strides over the past year with the introduction of new capabilities, and broadening its support and alignment with other standards like Activity Streams (http://activitystrea.ms/) and OAuth 2.0 (http://tools.ietf.org/html/draft-ietf-oauth-v2-22). One of the fundamental tenants of the community is to engage across the standards ecosystem to leverage adjacent standards and technologies when and where possible.

One way to continue the momentum of OpenSocial is to make a clear connection between the specification, the standards it includes and the needs of businesses. Social technologies are changing the businesses that have embraced and applied them but not not only for media. Businesses are using social technologies to better connect with partners, suppliers and employees -- as well as with customers.

But how are the ideas, technologies and standards in the social space holding up as business-use cases are applied ?

The W3C Social Business Jam is a global, online conversation with business leaders, subject matter experts and like-minded individuals about the current state of social business, the future role that social technologies can play in improving the bottom line, and how social technology should evolve in order to support business objectives. A primary objective of the Jam is to cooperatively explore key trends and concepts in social business with an eye towards how social standards can facilitate business goals. The Jam should produce a better understanding for participants of how businesses are using social technologies and the challenges they face integrating the technologies into their existing environments.

Mark Weitzel, president of the OpenSocial Foundation, is one of the noted hosts for the Jam. While Mark will be an active participant throughout the Jam, he is hosting a conversation on the Seamless Integration Of Social from 12 pm to 4 pm US eastern time on November 8.

Come share your insights and opinions. Registration is open and free, and takes just a few moments of your time. For more information, go to : http://www.w3.org/2011/socialbusiness-jam/

David Robinson
URL: http://blog.opensocial.org/2011/10/join-w3c-social-business-jam.html

[Gd] Bring OpenSocial gadgets to Moodle

| More

OpenSocial API Blog: Bring OpenSocial gadgets to Moodle

We present here a plugin that allows to bring OpenSocial gadgets into Moodle. OpenSocial gadgets are rendered via Apache Shindig (extension of version 2.0 that supports Spaces).

Moodle is a Learning Management System used in many Educational Institutions (Universities) to manage courses. It is a plugin based PHP application that can be extended by installing additional modules. These modules have to be installed on a Moodle server by a system administrator. The Moodle view usually consists of a main center area and a rather narrow right column with blocks. The center area normally contains main resources, such as, wiki, forum, lesson, quiz, etc. The right block contains some helper plugins, such as, calendar, upcoming events, latest news, recent activity, etc. These are to extend the functionality of the main page.

There are two different OpenSocial plugins for moodle. The first one adds a new module to Moodle. It is very similar to pages in moodle, however in addition, OpenSocial gadgets can be specified. Once it is installed, a teacher can choose a "Widget space" to be added to the course and specify OpenSocial gadgets for it. The teacher can choose whether 1,2,3 column view should be used for gadgets.



The resulting outcome is the iGoogle similar view where students can work with gadgets.


The second plugin adds a new block to Moodle. Teacher can add OpenSocial gadgets to the right
column for already existing in Moodle wiki pages, lessons, forums, etc.


One of the main benefits is that the big pool of OpenSocial gadgets can be used by teachers. Thus, once the OpenSocial plugins are installed in Moodle, a teacher can extend the functionality of Moodle without bothering system administrators with plugins installation. The teacher can add and remove gadgets easily and even can write her own ones. The plugins greatly improve the flexibility in choosing the resources and applications for the course specifics. OpenSocial gadgets can be found in the open widget repositories, such as, Role Widget Store, iGoogle Directory, etc.

In addition to reuse of applications existing in the Cloud and flexibility in choosing applications for the course, contextual gadgets and OpenSocial API are the other additional benefits.

Space extension allows gadgets to adapt to a specific context. For example, wiki gadget saves datafor a course and manages access to itself only by people engaged in this course. The same wiki gadget will behave differently being added to another course (different wiki history and different people to access it). Such space extension is already used in production in Graaasp and planned in Apache RAVE project.

OpenSocial API brings the standard way to retrieve and exchange social information between different Moodle installations and other social networks, that improves data portability and interoperability.

Plugins work for new version of Moodle 2.1. It should work for Moodle 2.0, though it was not tested. The installation instructions and source code can be found at github:
OpenSocial Moodle module
OpenSocial Moodle block

This plugin was developed within the ROLE Integrated Project and is already used in 5 courses at Shanghai Jiao Tong University.

Evgeny Bogdanov
URL: http://blog.opensocial.org/2011/10/bring-opensocial-gadgets-to-moodle.html

[Gd] New Text-to-Speech API for Chrome extensions

| More

Chromium Blog: New Text-to-Speech API for Chrome extensions

Interested in making your Chrome Extension (or packaged app) talk using synthesized speech? Chrome now includes a Text-to-Speech (TTS) API that’s simple to use, powerful, and flexible for users.

Let’s start with the "simple to use" part. A few clever apps and extensions figured out how to talk before this API was available – typically by sending text to a remote server that returns an MP3 file that can be played using HTML5 audio. With the new API, you just need to add "tts" to your permissions and then write:

chrome.tts.speak('Hello, world!');

It’s also very easy to change the rate, pitch, and volume. Here’s an example that speaks more slowly:

chrome.tts.speak('Can you understand me now?', {rate: 0.6});

How about powerful? To get even fancier and synchronize speech with your application, you can register to receive callbacks when the speech starts and finishes. When a TTS engine supports it, you can get callbacks for individual words too. You can also get a list of possible voices and ask for a particular voice – more on this below. All the details can be found in the TTS API docs, and we provide complete example code on the samples page.

In fact, the API is powerful enough that ChromeVox, the Chrome OS screen reader for visually impaired users, is built using this API.

Here are three examples you can try now:

    TTS Demo (app)
    Talking Alarm Clock (extension)
    SpeakIt (extension)

Finally, let's talk about flexibility for users. One of the most important things we wanted to do with this API was to make sure that users have a great selection of voices to choose from. So we've opened that up to developers, too.

The TTS Engine API enables you to implement a speech engine as an extension for Chrome. Essentially, you provide some information about your voice in the extension manifest and then register a JavaScript function that gets called when the client calls chrome.tts.speak. Your extension then takes care of synthesizing and outputting the speech – using any web technology you like, including HTML5 Audio, the new Web Audio API, or Native Client.

Here are two voices implemented using the TTS Engine API that you can install now:

    Lois TTS - US English
    Flite SLT Female TTS - US English

These voices both use Native Client to synthesize speech. The experience is very easy for end users: just click and install one of those voices, and immediately any talking app or extension has the ability to speak using that voice.

If a user doesn't have any voices installed, Chrome automatically speaks using the native speech capabilities of your Windows or Mac operating system, if possible. Chrome OS comes with a built-in speech engine, too. For now, there's unfortunately no default voice support on Linux – but TTS is fully supported once users first install a voice from the Chrome Web Store.

Now it's your turn: add speech capability to your app or extension today! We can't wait to hear what you come up with, and if you talk about it, please add the hashtag #chrometts so we can join the conversation. If you have any feedback, direct it to the Chromium-extensions group.

Posted by Dominic Mazzoni, Software Engineer
URL: http://blog.chromium.org/2011/10/new-text-to-speech-api-for-chrome.html

[Gd] Enjoy more API units this holiday season

| More

AdWords API Blog: Enjoy more API units this holiday season


Last year, we provided you with a bonus of 20% more AdWords API units at no additional cost. We’re pleased to announce that we’re bringing back our holiday bonus this year. Starting now and extending through January 15, 2012, you’ll receive 20% more API units at no additional cost.

Here are the details:
  • Developers can purchase AdWords API units at the rate of 1250 for 0.25 USD, up from 1000 for 0.25 USD. Don’t forget that you can apply for preferred AdWords API pricing to receive free units.
  • Advertisers who are eligible for free units will receive credit at the rate of 300 units for every 1 USD of AdWords spend, up from 250 for every 1 USD of AdWords spend. They will be credited the holiday bonus based on their spend in previous months

You can view your AdWords API usage in your MCC account, by clicking the AdWords API Center link under the My Account tab.

You can use this as an opportunity to try out and take advantage of the many new features just released in version v201109. As always, we encourage you to use the AdWords API as efficiently as possible.

Happy Holidays,
Posted by the AdWords API Team
URL: http://adwordsapi.blogspot.com/2011/10/enjoy-more-api-units-this-holiday.html

[Gd] Accessing search query data for your sites

| More

Official Google Webmaster Central Blog: Accessing search query data for your sites

Webmaster level: All

SSL encryption on the web has been growing by leaps and bounds. As part of our commitment to provide a more secure online experience, today we announced that SSL Search on https://www.google.com will become the default experience for signed in users on google.com. This change will be rolling out over the next few weeks.

What is the impact of this change for webmasters? Today, a web site accessed through organic search results on http://www.google.com (non-SSL) can see both that the user came from google.com and their search query. (Technically speaking, the user’s browser passes this information via the HTTP referrer field.) However, for organic search results on SSL search, a web site will only know that the user came from google.com.

Webmasters can still access a wealth of search query data for their sites via Webmaster Tools. For sites which have been added and verified in Webmaster Tools, webmasters can do the following:
  • View the top 1000 daily search queries and top 1000 daily landing pages for the past 30 days.
  • View the impressions, clicks, clickthrough rate (CTR), and average position in search results for each query, and compare this to the previous 30 day period.
  • Download this data in CSV format.
In addition, users of Google Analytics’ Search Engine Optimization reports have access to the same search query data available in Webmaster Tools and can take advantage of its rich reporting capabilities.

We will continue to look into further improvements to how search query data is surfaced through Webmaster Tools. If you have questions, feedback or suggestions, please let us know through the Webmaster Tools Help Forum.

Posted by Anthony Chavez, Product Manager
URL: http://googlewebmastercentral.blogspot.com/2011/10/accessing-search-query-data-for-your.html

[Gd] Dev Channel Update

| More

Chrome Releases: Dev Channel Update


The Dev channel has been updated to 16.0.912.0 for Windows, Mac, Linux, and Chrome Frame.

All
  • Updated V8 - 3.6.6.3
  • Native Client and Pepper plug-ins will be able to go use First Person controls for games and other applications after they go full screen and lock the mouse cursor. See PPB_MouseLock::LockMouse.
Mac
  • Chrome now offers improved battery life on Mac laptops with dual (integrated and discrete) GPUs. Currently the improvement is present on 2011 MacBook Pros running OS X 10.7.1, but will take effect on more machines as OS software updates are released.
Known Issues
  • Printing does not work - crashes the tab.
  • Crash in Instant (Issue 100521). Fixed on trunk; workaround is to disable Instant (if it’s already disabled and still crashes, please re-enable and disable, using the checkbox in Preferences -> Basics).
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
URL: http://googlechromereleases.blogspot.com/2011/10/dev-channel-update_18.html

Wednesday, October 19, 2011

[Gd] Dev Channel Update

| More

Chrome Releases: Dev Channel Update


The Dev channel has been updated to 16.0.912.0 for Windows, Mac, Linux, and Chrome Frame.

All
  • Updated V8 - 3.6.6.3
  • Native Client and Pepper plug-ins will be able to go use First Person controls for games and other applications after they go full screen and lock the mouse cursor. See PPB_MouseLock::LockMouse.
Mac
  • Chrome now offers improved battery life on Mac laptops with dual (integrated and discrete) GPUs. Currently the improvement is present on 2011 MacBook Pros running OS X 10.7.1, but will take effect on more machines as OS software updates are released.
Known Issues
  • Printing does not work - crashes the tab.
  • Crash in Instant (Issue 100521). Fixed on trunk; workaround is to disable Instant (if it’s already disabled and still crashes, please re-enable and disable, using the checkbox in Preferences -> Basics).
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
URL: http://googlechromereleases.blogspot.com/2011/10/dev-channel-update_18.html

[Gd] Android 4.0 Platform and Updated SDK Tools

| More

Android Developers Blog: Android 4.0 Platform and Updated SDK Tools

ICS logo

Today we are announcing Android 4.0, Ice Cream Sandwich — a new version of the platform that brings a refined, unified user experience for phones, tablets, and more.

Android 4.0 builds on the things people love most about Android — efficient multitasking, rich notifications, customizable home screens, resizable widgets, and deep interactivity — and adds powerful new ways of communicating and sharing. It includes many great features for users, including social and sharing integration, network data usage control, innovative connectivity and camera options, and an updated set of standard apps.

For developers, Android 4.0 introduces many new capabilities and APIs. Here are some highlights:

Unified UI toolkit: A single set of UI components, styles, and capabilities for phones, tablets, and other devices.

Rich communication and sharing: New social and calendar APIs, Android Beam for NFC-based instant sharing, Wi-Fi Direct support, Bluetooth Health Device Profile support.

Deep interactivity and customization: Improved notifications, lockscreen with camera and music controls, and improved app management in the launcher.

New graphics, camera, and media capabilities: Image and video effects, precise camera metering and face detection, new media codecs and containers.

Interface and input: Hardware-accelerated 2D drawing, new grid-based layout, improved soft keyboard, spell-checker API, stylus input support, and better mouse support.

Improved accessibility: New accessibility APIs and text-to-speech APIs for writing new engines.

Enhancements for enterprise: Keychain and VPN APIs for managing credentials and connections, a new administrator policy for disabling the camera.

For a complete overview of what’s new for users and developers, please read the Android 4.0 Platform Highlights.

Alongside the new Android platform, we are releasing new versions of the SDK Tools (r14) and ADT Plugin (14.0) for Eclipse. Among the highlights are:

  • Improved build performance in Ant and Eclipse
  • Improved layout and XML editors

To get started developing on Android 4.0, visit the Android Developers site for information about the Android 4.0 platform, the SDK Tools, and the ADT Plugin.

If you have already developed and published apps, we encourage you to download the Android 4.0 platform now, to begin testing your app before devices arrive in stores.

Check out the video below for a closer look at Android 4.0 in action.

URL: http://android-developers.blogspot.com/2011/10/android-40-platform-and-updated-sdk.html

[Gd] Designing an infinite digital bookcase

| More

The official Google Code blog: Designing an infinite digital bookcase


By Aaron Koblin, Data Arts Team and Bill Schilit, Research

Cross-posted from the Official Google Blog

As digital designers, we often think about how to translate traditional media into a virtual space. Recently, we thought about the bookcase. What would it look like if it was designed to hold digital books?

A digital interface needs to be familiar enough to be intuitive, while simultaneously taking advantage of the lack of constraints in a virtual space. In this case, we imagined something that looks like the shelves in your living room, but is also capable of showcasing the huge number of titles available online—many more than fit on a traditional shelf. With this in mind, we designed a digital bookcase that’s an infinite 3D helix. You can spin it side-to-side and up and down with your mouse. It holds 3D models of more than 10,000 titles from Google Books.

The books are organized into 28 subjects. To choose a subject, click the subject button near the top of your screen when viewing the bookcase. The camera then flies to that subject. Clicking on a book pulls it off the shelf and brings it to the front and center of the screen. Click on the high-resolution cover and the book will open to a page with title and author information as well as a short synopsis, provided by the Google Books API. All of the visuals are rendered with WebGL, a technology in Google Chrome and other modern browsers that enables fast, hardware-accelerated 3D graphics right in the browser, without the need for a plug-in.

If you’ve finished your browsing and find a book you want to read, you can click the “Get this book” button on the bottom right of the page, which will send you to that book’s page on books.google.com. Or, you can open the title on your phone or tablet via the QR code that’s in the bottom left corner of the page, using a QR code app like Google Goggles. You can also browse just free books by selecting the “Free Books” subject in the subject viewer.



Bookworms using a modern browser can try the WebGL Bookcase today. We recommend using Google Chrome and a fast computer with a powerful graphics card. Even with new hardware, this interface is experimental and may not work on some machines. For more creative browser experiments, check out Chrome Experiments, a gallery of more than 300 creative projects made by developers and artists from around the world, many utilizing WebGL.


Posted by Scott Knaster, Editor
URL: http://googlecode.blogspot.com/2011/10/designing-infinite-digital-bookcase.html

[Gd] New Text-to-Speech API for Chrome extensions

| More

The official Google Code blog: New Text-to-Speech API for Chrome extensions

Author Photo
By Dominic Mazzoni, Software Engineer

Interested in making your Chrome Extension (or packaged app) talk using synthesized speech? Chrome now includes a Text-to-Speech (TTS) API that’s simple to use, powerful, and flexible for users.

Let’s start with the "simple to use" part. A few clever apps and extensions figured out how to talk before this API was available – typically by sending text to a remote server that returns an MP3 file that can be played using HTML5 audio. With the new API, you just need to add "tts" to your permissions and then write:
chrome.tts.speak('Hello, world!');
It’s also very easy to change the rate, pitch, and volume. Here’s an example that speaks more slowly:
chrome.tts.speak('Can you understand me now?', {rate: 0.6});
How about powerful? To get even fancier and synchronize speech with your application, you can register to receive callbacks when the speech starts and finishes. When a TTS engine supports it, you can get callbacks for individual words too. You can also get a list of possible voices and ask for a particular voice – more on this below. All the details can be found in the TTS API docs, and we provide complete example code on the samples page.

In fact, the API is powerful enough that ChromeVox, the Chrome OS screen reader for visually impaired users, is built using this API.

Here are three examples you can try now:

    TTS Demo (app)
    Talking Alarm Clock (extension)
    SpeakIt (extension)

Finally, let's talk about flexibility for users. One of the most important things we wanted to do with this API was to make sure that users have a great selection of voices to choose from. So we've opened that up to developers, too.

The TTS Engine API enables you to implement a speech engine as an extension for Chrome. Essentially, you provide some information about your voice in the extension manifest and then register a JavaScript function that gets called when the client calls chrome.tts.speak. Your extension then takes care of synthesizing and outputting the speech – using any web technology you like, including HTML5 Audio, the new Web Audio API, or Native Client.

Here are two voices implemented using the TTS Engine API that you can install now:

    Lois TTS - US English
    Flite SLT Female TTS - US English

These voices both use Native Client to synthesize speech. The experience is very easy for end users: just click and install one of those voices, and immediately any talking app or extension has the ability to speak using that voice.

If a user doesn't have any voices installed, Chrome automatically speaks using the native speech capabilities of your Windows or Mac operating system, if possible. Chrome OS comes with a built-in speech engine, too. For now, there's unfortunately no default voice support on Linux – but TTS is fully supported once users first install a voice from the Chrome Web Store.

Now it's your turn: add speech capability to your app or extension today! We can't wait to hear what you come up with, and if you talk about it, please add the hashtag #chrometts so we can join the conversation. If you have any feedback, direct it to the Chromium-extensions group.


Dominic Mazzoni is a Software Engineer working on Chrome accessibility. He's the original author of Audacity, the free audio editor.

Posted by Scott Knaster, Editor
URL: http://googlecode.blogspot.com/2011/10/new-text-to-speech-api-for-chrome.html

Tuesday, October 18, 2011

[Gd] Google JS Test, now in Open Source

| More

Google Testing Blog: Google JS Test, now in Open Source


By Aaron Jacobs

Google JS Test is a JavaScript unit testing framework that runs on the V8 JavaScript Engine, the same open source project that is responsible for Google Chrome’s super-fast JS execution speed. Google JS Test is used internally by several Google projects, and we’re pleased to announce that it has been released as an open source project.

Features of Google JS Test include:
  • Extremely fast startup and execution time, without needing to run a browser.
  • Clean, readable output in the case of both passing and failing tests.
  • An optional browser-based test runner that can simply be refreshed whenever JS is changed.
  • Style and semantics that resemble Google Test for C++.
  • A built-in mocking framework that requires minimal boilerplate code (e.g. no $tearDown or$verifyAll calls), with style and semantics based on the Google C++ Mocking Framework.
  • A system of matchers allowing for expressive tests and easy to read failure output, with many built-in matchers and the ability for the user to add their own.

See the Google JS Test project home page for a quick introduction, and the getting started page for a tutorial that will teach you the basics in just a few minutes.
URL: http://googletesting.blogspot.com/2011/10/google-js-test-now-in-open-source.html

[Gd] Google Code-in: Are you in?

| More

The official Google Code blog: Google Code-in: Are you in?


By Carol Smith, Google Code-in Program Manager, Open Source Team

Cross-posted from the Google Open Source Blog


Listen up, future coders of the world: today we’re launching the second annual Google Code-in competition, an open source development contest for 13-17 year old students around the world. The purpose of the Google Code-in competition is to give students everywhere an opportunity to explore the world of open source development. We not only run open source software throughout our business, we also value the way the open source model encourages people to work together on shared goals over the Internet.

Open source development involves much more than just computer programming, and the Google Code-in competition reflects that by having lots of different tasks to choose from. We organize the tasks into eight major categories:

1. Code: Writing or refactoring code
2. Documentation: Creating and editing documents
3. Outreach: Community management and outreach, as well as marketing
4. Quality Assurance: Testing and ensuring code is of high quality
5. Research: Studying a problem and recommending solutions
6. Training: Helping others learn more
7. Translation: Localization (adapting code to your region and language)
8. User interface: User experience research or user interface design and interaction

On November 9, we’ll announce the participating mentoring organizations. Mentoring organizations are open source software organizations chosen from a pool of applicants who have participated in our Google Summer of Code program in the past. Last year we had 20 organizations participate.

Last year’s competition drew 361 participating students from 48 countries, who worked for two months on a wide variety of brain-teasing tasks ranging from coding to video editing, all in support of open source software. In January, we announced the 14 grand prize winners, who we flew to our headquarters in Mountain View, California to enjoy a day talking to Google engineers and learning what it’s like to work at Google, and another day enjoying the northern California sights and sun.

Visit the Frequently Asked Questions page on the Google Code-in site for more details on how to sign up and participate. Our goal this year is to have even more pre-university students in the contest than last time around, so help us spread the word, too.

Stay tuned to the contest site and subscribe to our mailing list for more updates on the contest. The Google Code-in contest starts on November 21, 2011, and we look forward to seeing the clever and creative ways all of the participants tackle their open source challenges.


Carol Smith is Google Code-in Program Manager, Open Source Team

Posted by Scott Knaster, Editor
URL: http://googlecode.blogspot.com/2011/10/google-code-in-are-you-in.html