Friday, January 15, 2010
In the API corner of the Google Wave cubicles, we're often digressing into energetic discussions about an awesome extension that we want to see, and scheming about how we can encourage developers to implement these fantasy extensions. Since none of us are very good at inserting subliminal messages into forum posts, we figured we'd share our ideas on this blog instead, in a series of posts from various members of the Google Wave team.
To start off the series, I want to sell you on the idea of the "Joint Jukebox". First, some background. Sometimes I find myself in situations where friends put me in charge of playing music during a party, and I am constantly reminded by said people that I have one of the "worst" tastes in music ever. So, I have experimented with various ways of giving people a way to influence the stream of music. When I was a lab assistant in college, I wrote an app that used Google Spreadsheets to power a Youtube player, and invited everyone in the lab to edit the spreadsheet. They could add Youtube video IDs to the spreadsheet, and then change the number in the "rank" column to get the video to play sooner. I'd then project that player onto the screen. That worked alright, but the voting mechanism (the "rank" column) was too easy to hack, and it wasn't really that fun to use. I always envisioned writing a digg-like interface for it, and since I never got the chance, I'm putting you up to the challenge of doing it... but Wave-ified!
The Joint Jukebox would let users search for songs (using any one of the various music APIs on the web), and then submit play requests (or skip requests for the haters) on each submitted song. A highly intelligent algorithm would be constantly analyzing the current rankings and play history of all the songs, and use that information to select the next song to play. A group could use this as their DJ for a party or joint working space, just by hooking up a computer displaying the Wave to their audio system. Or, a couple in a long-distance relationship could use it across oceans, to feel like they're aurally connected. The Jukebox could also support playing music videos, or even playing karaoke versions of songs with lyrics displayed. No more listening to lame slow songs by the one depressed dude at Karaoke — you'll just vote him down!
The diagram below — made using a cool UI mockup app called Mockingbird (which would also make a great extension to Google Wave) — shows what the main screen and stats dialog could look like for the gadget. The jukebox shows the currently playing songs, the songs slated to play next, and then tabs to browse other songs users can rate. Users can suggest new songs, of course, when they want to listen to the latest from their favorite pop star or musical TV drama. :)
So, that's my wish — making music listening into a collaborative experience. If you want to help fulfill my wish — or if you're inspired to take it in a different direction — pop by the forum and share your ideas. Thanks, in advance!
Posted by Pamela Fox, Developer Relations
Thursday, January 14, 2010
- Videos belong to their owners - YouTube is a hosting platform. The videos themselves belong to the content owner (anyone from a major studio to a mother recording her son's graduation). In all cases, the content owner decides how and where their YouTube videos are distributed. Sometimes, video owners don't want others to profit from their work, or sometimes they may want to restrict where their videos are shown. While you may disagree with this decision, we need to respect the content owners' wishes.
- Standard YouTube video player is key - Consistency in terms of quick video loads and playbacks is a hallmark of the YouTube experience. We therefore ask that you don't enable videos for download, modify a video in any way, or enable playback through means other than other official embeddable players.
- Don't serve or strip ads from the video - Serving your own ads against a video without sharing revenue with the content creator, or YouTube, is against the TOS. So is using technology that strips out the ads we're serving on videos. Doing this deprives the uploader from legitimate earnings from his or her work. If you want to learn more about monetizing your YouTube apps, check out our API monetization guide.
- It's ok to charge customers to access your application - Creating a subscription, or a one-time access/download fee to use your website or app is fine. But if you do, make it clear that it's you who's charging for access to the video, not YouTube. If you don't make this clear, you're very likely violating the TOS.
Posted by Kuan Yong, YouTube APIs and Tools Team
This release fixes several of the most common crashes and the following issues:
- Network related fixes (Issue: 30149, 30203, 30355)
- Enable UMA data upload in ChromeFrame (Issue: 30508)
- Authorization headers set using XHR with ChromeFrame were stripped in the outgoing HTTP (Issue: 23103)
- CF Full Mode display webpage when "Open link in new window" opened in ChromeFrame via the Open in New window operation (Issue: 30013)
-- Orit Mazor, Google Chrome Team
- See full list
- See full list
- Several crash fixes.
- [r35546 , r35826] Add a rudimentary bookmark manager (Issue: 13149, 31844)
- [r35678] Fix stuck hover states on tab close buttons (Issue: 31279)
- [r35576] Make devtools window dockable. (Issue: 17368)
- [r35512] Implement the cookie manager (Issue: 15360)
- [r35440] Cmd-three finger swipe opens prev/next page in new tab. (Issue: 29804)
- [r35441] We no longer show "exe" in process listings for helper processes. (Issue: 29118)
- [r35536] Work around LAHF crash bug in Flash. (Issue: 29789)
You can find out about getting on the Dev channel here: http://dev.chromium.org/getting-involved/dev-channel.
Posted by Michael Wyszomierski, Search Quality Team
Wednesday, January 13, 2010
chrome.i18n.getMessage("messagename", "one parameter")
chrome.i18n.getMessage("messagename", ["one", "to", "nine", "parameters"])
In October of last year we launched the v200909 API and shared with you that the majority of v13 services would be turned off on April 22 of this year. This is a reminder to our developers that less than 100 days are left before most v13 services will be turned off.
The AccountService, TrafficEstimatorService, and ReportService v13 services will continue to be accessible because they are not yet available in the v2009 API. In the coming months, we'll announce the launch dates for these services in the v2009 API and corresponding sunset dates for the v13 services.
Want to learn more about migrating your application to the v2009 API? Review the side-by-side differences between v13 and v2009. Try out the code examples in these client libraries: Java, .NET, Python, Ruby, and PHP. You can also learn more from our Discover v2009 series of blog posts.
As we go into the last 100 days before migration to v2009, please continue to ask us your questions and share your feedback on the AdWords API Developer Forum.
–- Jason Shafton, Product Marketing Manager
We already have quite a few Google Web Toolkit I/O sessions and Developer Sandbox demos lined up, and we expect this number to grow over the coming months. Here's a partial list of the GWT sessions that are already listed on the I/O website:
- GWT + HTML5 can do what?!
- Architecting GWT applications for production at Google
- Measure in milliseconds redux: Meet Speed Tracer
- Faster apps faster: Optimizing apps with the GWT Compiler
Registration for Google I/O (at the early bird rate of $400) is open as of today. We hope you'll be as excited about this year's I/O as we are, and we look forward to seeing everyone in May.
Tuesday, January 12, 2010
Combined with the shared folders feature of Google Docs, we think this new feature is a great way to build collaborative applications for exchanging files with coworkers and external parties. No more email attachments!
In addition to arbitrary file upload, we’re launching several top features requested by developers:
- Copy a document - Make a duplicate of a document in a single call
- Publishing documents - Programmatically publish a document to the world.
- Change the owner of a document - While ACLs and sharing have been in the API for quite some time, you can now change the ‘owner’ of a document.
- Resumable uploads - Offers the ability to pause/resume an upload. It’s ideal for large file sizes.
Issues resolved in this release: 72, 1040, 1675, 1260, 1741, 1127
By Eric Bidelman, Google Docs Team
I/O 2010 will be focused on building the next generation of applications in the cloud and will feature the latest on Google products and technologies like Android, Google Chrome, App Engine, Google Web Toolkit, Google APIs, and more. Members of our engineering teams and other web development experts will lead more than 80 technical sessions. We'll also bring back the Developer Sandbox, which we introduced at I/O 2009, where developers from more than 100 companies will be on hand to demo their apps, answer questions and exchange ideas.
We'll be regularly adding more sessions, speakers and companies on the event website, and today we're happy to give you a preview of what's to come. Over half of all sessions are already listed, covering a range of products and technologies, as well as speaker bios. We've also included a short list of companies that will be participating in the Developer Sandbox. For the latest I/O updates, follow us (@googleio) on Twitter.
Today's registration opens with an early bird rate of $400, which applies through April 16 ($500 after April 16). Faculty and students can register at the discounted Academia rate of $100 (this discounted rate is limited and available on a first come, first serve basis).
Last year's I/O sold out before the start of the conference, so we encourage you to sign up in advance.
May 19-20, 2010
Moscone West, San Francisco
To learn more and sign up, visit code.google.com/io.
We hope to see you in May!
By David Glazer, Engineering Director
Monday, January 11, 2010
- The addition of internationalization support for extensions http://code.google.com/chrome/extensions/trunk/i18n.html.
- [r34858] Adds a right-click context menu for Browser Actions and Page Actions. (Issue: 29538)
- [r35233] Disables content scripts in Incognito mode. (Issue: 21392)
- [r35663] Prevents extension popups from being dismissed when the focus changes from a child window of the popup, as it is the case with select popups. (Issue: 28110)
- [r35681] Enforces minimum version from the extension manifest. (Issue: 24737)
Today, we are releasing the SDK component for Android 2.1, so that developers can take advantage of the new features introduced in Android 2.1. Please read the Android 2.1 release notes for more details. You can download the Android 2.1 component through the SDK Manager.
In addition to the new SDK, a new USB driver that supports Nexus One is also available today through the SDK Manager. The USB driver page contains more information.