Friday, December 09, 2011

Fridaygram: graphing functions, telescope milestone, baby scientists

Author Photo
By Scott Knaster, Google Code Blog Editor

You might already know that Google Search makes a handy calculator. Just type any calculation into a Google search box, and the answer is computed for you. Earlier this week, we added an even cooler, more powerful feature. Now, when you type a function, you’ll see it graphed.



As you can see in this image, you can graph more than one function at a time by separating them with commas. Once the graph is drawn, you can zoom and pan to see the sections and details you want. And the Google colors are a nice touch.

In other calculation-related news this week, the Hubble Space Telescope counted to 10,000. That’s the number of published scientific papers based on data gathered from Hubble. Although the telescope was launched back in 1990, it’s said to be in great shape and is taking great pictures, thanks largely to frequent service missions by astronauts. That should inspire you to change the oil in your car.

Finally, here’s one especially for you babies out there, and for those who know or are related to babies. The Nerdy Baby coloring book for very young scientists looks like a great way to nudge very small kids toward a proper nerdy upbringing. And when you’re not coloring, you can spend some time this weekend coming up with cool functions to graph on Google Search.


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 (sometimes including nerdy babies).


Games, apps and runtimes come to Native Client

By Christian Stefansen, Product Manager

Cross-posted from the Chromium Blog
Updated on December 14th with the video of the event.

Since we launched Native Client late last summer, our team has been working hard to make the technology more useful to developers. Yesterday at an event held at Google we shared the progress we’ve made towards this goal and showcased work from some of the early adopters of the technology, including Square Enix, Unity Technologies, and Bungie.



One code base for all OSs
In September, we started supporting a set of core Pepper interfaces, suited for 2D graphics, audio, and compute-intensive applications. Since that release, we’ve shipped additional APIs and capabilities, providing native code with more of the capabilities available from JavaScript. These include hardware-accelerated 3D graphics via OpenGL ES 2.0, a mouse lock API, a full-screen API, and much more. One example of the kind of experience Native Client can currently support is Bastion, an award-winning role-playing game from Supergiant Games. Previously limited to Microsoft Windows® and Xbox® systems, the Native Client port of Bastion allows Supergiant to reach users on all popular desktop operating systems, with the safety and simplicity of the web.

Easy porting of previous work
If you have existing code bases in C, C++, or C#, Native Client now allows you to port your existing apps to the web while maintaining just one code base. This was particularly appealing to Spacetime Studios. They ported their multiplayer online game Star Legends to the web in less than two weeks from an existing code base of more than half a million lines of code. The side benefit of being able to maintain their existing development and testing infrastructure further accelerated their delivery of a shipping title.

More choices of programming languages

The community is actively involved in Native Client, porting some of the most popular application middleware. Ports include Unity and Moai game engines, programming language environments Mono and Lua, audio middleware such as fmod and Wwise, as well as the Bullet physics engine. These Native Client ports make the web more accessible to hundreds of thousands of application developers. At the event, we showcased upcoming applications from Heartwood, Silvertree, Exit Strategy, and Dedalord, who used those tools to bring their apps to the web with very little effort. We’ll continue to work with the community to get even more languages and middleware systems ported to Native Client.

We recognize that building a Native Client app is only the start of a successful app. That’s why we’ve enabled distribution of Native Client-based apps via the Chrome Web Store. The Chrome Web Store gives developers a simple, effective strategy to reach over 200 million active users of Google Chrome.

If all this sounds exciting, please visit our new documentation site at gonacl.com. There you’ll find a growing collection of tutorials, examples, videos, reference documentation, and much more.



Questions or suggestions? Join us in the discussion forums. We look forward to seeing some great new apps from Native Client developers.


Posted by Scott Knaster, Editor

Thursday, December 08, 2011

Introducing the Google Analytics Core Reporting API

Jeetendra
Nick

By Jeetendra Soneja and Nick Mihailovski, Google Analytics API Team

Today we are announcing the new Google Analytics Core Reporting API as a replacement for the Data Export API. This is the second phase in a larger project we started a couple months back to upgrade our APIs to new infrastructure.

The Core Reporting API has two versions.

Version 3.0 is a brand new API, with a 10x reduction in output size and support for many new client libraries, like PHP, Ruby, Python, JavaScript and Java. All new features will only be added to this version.

Version 2.4 is backward compatible with the legacy Data Export Version 2.3.

If you are building a new application or maintaining an existing one, we highly recommend migrating to version 3.0.

One of the biggest changes in switching to the Core Reporting API is that you now need to register your applications via the Google APIs Console and use a project ID to access the API.

With this change, we are also announcing the deprecation of the Data Export API version 2.3. This API will continue to work for 6 months, after which all v2.3 XML requests will return a v2.4 response. Also, we plan to terminate the Data Export API Account Feed. All configuration data should be retrieved through the Google Analytics Management API.

See our Data Export API changelog for all the details of the change and read our developer documentation for more details about each API.

If you have any questions feel free to reach out in our Data Export API Google group.


Jeetendra Soneja is the technical engineering lead on the Google Analytics API team. He's a big fan of cricket – the game, that is. :)

Nick Mihailovski is a Senior Developer Programs Engineer working on the Google Analytics API. In his spare time he likes to travel around the world.


Posted by Scott Knaster, Editor


Monday, December 05, 2011

Around the world with Google Developer Day 2011

Author Photo
By Monica Tran, Google Developer Day Team

This year's Google Developer Day events just finished after a worldwide tour across nine cities and four continents. We'd like to thank the thousands of developers who contributed to making Google Developer Day a success. If we didn’t make it to your city, you can continue to get regular updates on all things developer at our Google Developers page on Google+. And for those of you looking for a community to join, get in touch with one of our local Google Technology User Groups (GTUGs) or if you’re feeling bold, start your own chapter!

Please read the recaps below, and visit our website to get the highlights, videos and photos from Google Developer Day 2011. See you in 2012!


Google Developer Day photos

Sao Paulo, Brazil: The countdown to Google Developer Day ended with the first of our events in Sao Paulo, where we welcomed over 1,600 developers. Brazilian developers showed up in full force for the event, celebrating the latest Chrome Webstore launch, showing us the most crazy code they’ve ever written and interacting with developers’ creations in the Android ADK showcase.

Buenos Aires, Argentina: Continuing our Latin America tour, James Whittaker, Director of Engineering, delivered a keynote featuring the latest from Android, Chrome, and Google+. The keynote presentations were built in HTML5 and featured a 3D demo of the latest Ice Age trailer. The Google+ game was a hit among attendees, who used the pin exchange as a conversation starter to meet other developers. Those who found all five, including the elusive black Circles pin, took home one of these guys.

Moscow, Russia: Russia is home to the 4th largest developer population in the world, accounting for 12% of EMEA’s developers. On October 10, more than 1,800 of those developers joined us in Moscow, where we hosted five simultaneous tracks featuring 19 speakers and 25 sessions. With the help of Russian GTUGs, we featured 16 projects, including ADK-powered robots from our Open Call challenges. Check out photos of our speakers in Russian national shirts and other photos of the event here.

Prague, Czech Republic: This year’s Google Developer Day focused on bringing nearly 1,000 members of the developer community together in creative and fun ways. Our very first Developer Sandbox featured 12 companies, in addition to four projects from ADK Challenge and a showcase of the 20 latest Android devices. At the end of the day--after 27 sessions by 25 speakers--Ignite stole the show with eight Czech influencers presenting on topics from happiness at work to 3D printing. Additionally, check out our HTML5 developer competition, Mam Padla, as well as videos and photos from the event.

Beijing, China: Despite being a late addition, China showed up in a big way with a 3-city Google Developer Day tour that attracted 2,240 attendees. In addition to the keynote, 36 breakout sessions, 21 partner booths and 6 product demos were offered, and over 60 developer applications showcased. New to Beijing this year was the live audience instant message display, which was shown during the keynote. Seven GTUGs across China sent in greeting videos and nearly a dozen developers came on stage to share their experiences developing innovative business solutions using Google technologies.

Tokyo, Japan: With over 1,700 developers in attendance after being selected via DevQuiz from 5,000 registrations, and with over 100 volunteer developers and Googlers collaborating to organize, this year’s Google Developer Day embraced the spirit of open source with 40 developers in the Developer Sandbox, 17 Open Call (Android and HTML5) exhibits, a Mini Theater for developers to stage informal presentations, and an appearance from Bar Android. Ignite closed the event with lightning talks from 6 developers and our DevQuiz team, GoogleFes!, and a special dance performance from the GDD48. Check out our highlights video and photos for the full picture.

Sydney, Australia: We hosted our largest developer audience in Australia at our third Google Developer Day event. Our Sydney-based engineers and Developer Relations speakers put on 32 sessions, including a VC panel that featured interviews from experts at Posse, Pollenizer and Atlassian. To quench their thirst, developers turned to iZac, our Android ADK-powered bartender. For more highlights and photos, visit our homepage.

Tel Aviv, Israel: Israel has one of the highest numbers of startups per capita, leading us to deem it the “Startup Nation” amongst our Google Developer Day countries. 1,450 developers joined us for this year’s event, where we hosted 27 sessions, as well as lots of fun activities at the innovation lounge. To showcase the rich innovation coming from the country, local developers Paradroid, The Sign Language Glove, Xtendi and iOnRoad (among many others) were on-hand to demo their creations; while Tmura (the Israeli Public Service Venture Fund) and the Israeli Accessibility Association helped raise awareness for causes relevant to developers. Check out the highlights video and photos.

Berlin, Germany: With over 2,100 developers in attendance at this year’s event, the grande finale of our world tour, Google Developer Day in Berlin, was also our largest single GDD in 2011. Partnering with two of the most innovative universities in Germany, Technische Universität Berlin (TU) and Humboldt-Universität zu Berlin (HU), we hosted 37 sessions in 5 parallel tracks. We had a great presentation of the winners of the German ADK- and HTML5-Open Call, university students showcased 31 projects with innovative technologies mostly related to Google products and GDD themes, and we had a great after-GDD get together at the famous Berlin underground space station c-base. Our German GTUG community, with 16 local GTUGs the most active in Europe, organized an amazing 4-day Developer Weekend, which included Bootcamp, Hack-and-Tell and Ignite sessions. Don’t miss our highlights video (featuring beatboxing at its best) and our photo gallery.


You might remember Monica Tran from I/O Live or one of our eight Google Developer Days around the world. Now Monica is back to lead the charge on Google I/O 2012.

Posted by Scott Knaster, Editor


Friday, December 02, 2011

Fridaygram: indoors, in space, in formation

Author Photo
By Scott Knaster, Google Code Blog Editor

The latest version of Google Maps for Android can take you somewhere new: indoors. The Google Maps folks have plotted out a bunch of airports, shopping centers, stores, and other locations in the U.S. and Japan. Now you have one fewer excuse for staying at home.



From the shops to space: last Saturday NASA launched the Mars Science Laboratory (MSL), including the Curiosity rover. MSL will travel to Mars over the next 8 months before a planned touchdown next August 6th. Once there, Curiosity will conduct experiments to figure out if life was ever feasible in the landing area.

Finally, if you haven’t decided yet what you’re going to do this weekend, maybe you could fly in formation with jets like this dude did. Or you could clean out the fridge.


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.

Hacking for Humanity around the world

Author Photo
By Christiaan Adams, Google.org Crisis Response Team

Every year, coders and designers have been gathering to meet with experts in disaster response and international development, to spend a weekend designing tools and hacking code for the public good. This weekend, December 3-4, 2011, the next Random Hacks of Kindness (RHoK) hackathons will be taking place in cities around the world, with the simple idea that technology can and should be used for good.


Led by Google, Microsoft, Yahoo!, Hewlett-Packard, NASA, and the World Bank, RHoK brings together hackers of all stripes to create open source software solutions that address issues of global interest and assist the organizations working on those issues. The fourth round of global RHoK events will be taking place in more than 30 cities on December 3-4, 2011, and you are invited and encouraged to attend.

Some of the interesting solutions that have been developed at past events include I’mOK, a mobile app that was used after the Haiti and Chile earthquakes, CHASM, a visualization tool for mapping landslide risk which is being used by the World Bank around the Caribbean, and Bushfire Connect, an online service for real-time information on fires in Australia. Hackers have also helped develop features for Person Finder, a tool created by the Google.org Crisis Response Team to help people find friends and loved ones after disasters.

We’re inviting all developers, designers, and anyone else who wants to help “hack for humanity” to attend one of the local events this weekend, December 3-4. You’ll have a chance to meet other open source developers, work with experts in disasters and international development, and contribute code to exciting projects that make a difference. Googlers will be attending several events, including those in San Francisco, New York, London, and others. We look forward to meeting you there!

And if you’re part of an organization that works in the fields of crisis response, climate change, or international development, you can submit a problem definition online, so that developers and volunteers can work on technology to address the challenge.

Visit http://www.rhok.org/ for more information and to sign up for your local event, and get set to put your hacking skills to good use.


Christiaan Adams is a developer advocate with the Google Earth Outreach Team and Google.org’s Crisis Response Team, where he helps nonprofits and disaster response organizations to use online mapping tools. When he’s not at work, he likes to go hiking or mountain biking, using Google Maps, of course.

Posted by Scott Knaster, Editor


Wednesday, November 30, 2011

JavaScript Client Library for Google APIs Alpha version released

author photo
Brendan
author photo
Antonio
By Brendan O’Brien and Antonio Fuentes, Google Developer Team

Today we reached another milestone in our efforts to provide infrastructure and tools to make it easier for developers to use Google APIs: we have released the Google APIs Client Library for JavaScript in Alpha. This client library is the latest addition to our suite of client libraries, which already includes Python, PHP, and Java.

This compact and efficient client library provides access to all the Google APIs that are listed in the APIs Explorer. The client library is also flexible, supporting multiple browser environments including Chrome 8+, Firefox 3.5+, Internet Explorer 8+, Safari 4+, and Opera 11+. In addition, the JavaScript client library supports OAuth 2.0 authorization methods.

You can load the client library using the following script tag:
<script src="https://apis.google.com/js/client.js?onload=CALLBACK"></script>
Loading an API and making a request is as easy as executing:
gapi.client.load('API_NAME', 'API_VERSION', CALLBACK); // Returns a request object which can then be executed. // METHOD_NAME is only available once CALLBACK runs. var request = gapi.client.METHOD_NAME(PARAMETERS_OBJECT); request.execute(callback);
You can use the APIs Explorer to check all the methods available for an API, as well as the parameters for each method. For instance, use the above syntax with the plus.activities.search method of the Google+ API to query activities:

<!DOCTYPE html> <html>  <head>  </head>  <body>    <script type="text/javascript"> function init() {  // Load your API key from the Developer Console  gapi.client.setApiKey('YOUR_API_KEY');  // Load the API  gapi.client.load('plus', 'v1', function() {      var request = gapi.client.plus.activities.search({          'query': 'Google+',            'orderby': 'best'            });      request.execute(function(resp) {          // Output title          var heading = document.createElement('h4');          heading.appendChild(document.createTextNode( resp.title));          var content = document.getElementById('content');          content.appendChild(heading);          // Output content of the response          if (!resp.items) {            content.appendChild(document.createTextNode( 'No results found.'));          } else {            for (var i = 0; i < resp.items.length; i++) {              var entry = document.createElement('p');            entry.appendChild(document.createTextNode( resp.items[i].title));              content.appendChild(entry);            }          }        });    }); }    </script>    <script src="https://apis.google.com/js/client.js?onload=init"></script>    <div id="content"></div>  </body> </html>
To try this yourself, sign up in the Google APIs console or refer to the documentation on acquiring and using a developer key in the Google+ API.

The Google APIs Client Library for JavaScript is currently in Alpha, which means that we are actively developing it, but wanted to get the library in your hands as soon as possible, and we welcome any feedback to make the code better. While you can use the current library to start writing code, you should use caution when writing production code as library code changes may break your application. We are working hard to upgrade this release to Beta and beyond soon, and to release even more client libraries.

To get started, visit the JavaScript Client Library documentation page. We also welcome your feedback, which you can provide using the JavaScript client group.


Brendan O'Brien is a Software Engineer for the Browser Client group at Google. Prior to working on JavaScript APIs he was a frontend engineer for iGoogle. He is passionate about JavaScript and enjoys building web applications.

Antonio Fuentes is a Product Manager for the Google API Infrastructure group. He has experience launching products in the cloud computing, infrastructure, and virtualization space.

Posted by Scott Knaster, Editor

Tuesday, November 29, 2011

Introducing Au-to-do, a sample application built on Google APIs

Author Photo
By Dan Holevoet, Developer Relations Team

A platform is more than the sum of its component parts. You can read about it or hear about it, but to really learn what makes up a platform you have to try it out for yourself, play with the parts, and discover what you can build.

With that in mind, we started a project called Au-to-do: a full sample application implementing a ticket tracker, built using Google APIs, that developers can download and dissect.

Au-to-do screen shot

Au-to-do currently uses the following APIs and technologies:
Additional integrations with Google APIs are on their way. We are also planning a series of follow-up blog posts discussing each of the integrations in depth, with details on our design decisions and best practices you can use in your own projects.

By the way, if you’re wondering how to pronounce Au-to-do, you can say "auto-do" or "ought-to-do" — either is correct.

Ready to take a look at the code? Check out the getting started guide. Found a bug? Have a great idea for a feature or API integration? Let us know by filing a request.

Happy hacking!


Dan Holevoet joined the Google Developer Relations team in 2007. When not playing Starcraft, he works on Google Apps, with a focus on the Calendar and Contacts APIs. He's previously worked on iGoogle, OpenSocial, Gmail contextual gadgets, and the Google Apps Marketplace.

Posted by Scott Knaster, Editor



Monday, November 28, 2011

Simplifying Access Control in Google Cloud Storage

Author Photo
By Navneet Joneja, Product Manager

Google Cloud Storage is a robust, high-performance service that enables developers and businesses to use Google’s infrastructure to power their data. Today, we’re announcing a new feature that makes it even easier to control and share your data.

Per-Bucket Default Object ACLs

Customers building a wide variety of applications have asked us for an easier mechanism to control the permissions granted on newly created objects. Now you can define your access control policy for a bucket once by specifying a Default Object ACL for any bucket, and we’ll automatically apply that ACL to any object without an explicitly defined ACL. You can always override the default by providing a canned ACL when you upload the object or by updating the object’s ACL afterwards. This mechanism simplifies wide variety of use cases, including data sharing, controlled-access data sets and corporate drop-boxes.

New buckets without Default ACLs

After analyzing how customers use our service, we’ve also decided to make a few small changes to the behavior of buckets that have no explicit default object ACL. Effective today, new buckets are created with an implied project-private default object ACL. In other words, project editors and owners will have FULL_CONTROL access to new objects, and project viewers will have READ access to them. This change better aligns the default behavior with how our customers use storage. You can change a bucket’s default object ACL at any time after creating the bucket.

Existing buckets have an effective default object ACL of "private", and they will continue to work as they always have until and unless you specify a new default object ACL for them.


Navneet Joneja loves being at the forefront of the next generation of simple and reliable software infrastructure, the foundation on which next-generation technology is being built. When not working, he can usually be found dreaming up new ways to entertain his intensely curious one-year-old.

Posted by Scott Knaster, Editor

Google I/O 2012 extended to three days from June 27-29, 2012

Author Photo
By Monica Tran, Google I/O Team

After Google I/O 2011, you consistently told us you wanted more time to attend sessions, visit our partners in the Developer Sandbox, and meet 1:1 with the engineers behind Google’s developer platforms and APIs. We recently received an unexpected opportunity to extend Google I/O to three days, so as we announced on our +Google Developers page, we are moving the conference to June 27-29, 2012. It will still take place at Moscone Center West in San Francisco.

Google I/O 2012
June 27-29, 2012
Moscone Center West, San Francisco


In the meantime, be sure to brush up on your coding skills. They’ll come in handy when the new application process opens in February. That’s all we can tell you for now, but we’d advise against making travel arrangements until then. Continue following us at our Google Developers page on Google+ to be the first to get #io12 updates!


This post supersedes our previous Save the Date announcement. Please update your calendars: Google I/O will be coming to Moscone Center in San Francisco on June 27-29. We will be responding to FAQs via our thread on Google+.


You might remember Monica Tran from I/O Live or one of our eight Google Developer Days around the world. This year, she’s back to lead the charge on Google I/O 2012.

Posted by Scott Knaster, Editor