Tuesday, December 11, 2012

ClientLogin using Google Accounts

Long-time readers might remember a blog post from a while back entitled “ClientLogin #FAIL”, in which we covered the myriad ways in which your ClientLogin authorization attempts might result in an error. Even though ClientLogin has been officially deprecated since April 2012, and even though we’ve been recommending that developers switch to OAuth 2 for longer than that, we know there are still a good number of legacy applications out there that still rely on ClientLogin.

If you are a developer of such an application, there’s another thing that you (and your users) will need to start watching out for: at some point in the future, we will start requiring that the username parameter passed to ClientLogin (i.e. what’s referred to as the Email= value in the ClientLogin request) correspond to the full email address of the Google Account that’s associated with an underlying YouTube channel. We’ve supported using Google Account email addresses with ClientLogin for many years now, ever since we started linking Google Accounts to YouTube channels, but old habits die hard, and many users still use YouTube usernames.

We haven’t yet determined a date for when we still stop supporting ClientLogin with YouTube usernames and will provide additional details when we know more about when it will take place. However, if you use ClientLogin, it’s not too early to start encouraging your application’s users to start providing their Google Account email addresses instead of their YouTube usernames when logging in. If you have the ability to update your existing application’s user interface, we recommend doing so to indicate that the username field should take a Google Account email address. If you have any online help materials or technical support for your software, update them to ensure that users know to provide their Google Account email address.

Users who log in via the YouTube.com web interface, or who go through the AuthSub, OAuth 1, or OAuth 2 web authorization flows will soon be required to use their Google Account email address instead of their YouTube username as well. This web-based transition will take place well before we deprecate YouTube usernames for ClientLogin, and it should be transparent to developers since Google controls the user interface for these flows. For more information, see this help center article.

As mentioned, we’ll have a follow-up post in coming months with more details about exactly when we’ll stop supporting YouTube usernames with ClientLogin. That post will also communicate the exact error message that ClientLogin will return when a YouTube username is used. We’d like to close with one more plea: ClientLogin is deprecated, and is technically inferior to OAuth 2 in a number of important ways. Our new Google APIs client libraries provide first-class OAuth 2 integration that developers can take advantage of in their new code, or back port to their existing code. You will be doing your users a service and making their accounts more secure by transitioning from ClientLogin to OAuth 2.

Jeff Posnick, YouTube API Team

Thursday, November 15, 2012

Using WebM to power the YouTube app for Nintendo Wii

When we began building the new YouTube app for Nintendo Wii, we wanted to make video playback smooth and beautiful. This meant squeezing the most available power from the console CPU and fitting the video decoding process within the tight bounds of available memory. After trying out several video encoding formats on Wii, we found that 360p WebM encoding performed the best. With the largest install base of current generation consoles, YouTube on Wii is the largest deployment of WebM video in the world today.

WebM is particularly well-suited to devices where available memory is limited, because of its technical approach to video encoding. VP8, the video codec in WebM, uses reference frames (called alternative reference frames, or "alt-ref") from which adjacent video frames are derived and compressed. This type of compression is commonly used in modern video encoding schemes, but VP8 uses the technique with particular efficiency, which results in a smaller memory footprint and smoother video playback on Wii.

We went one step further and performed low-level optimization of the VP8 decoder specifically tuned to the Wii’s processor. This included: using paired-single floating point operations to perform motion compensation, loop filtering, and idct; using the GPU to do color conversion and scaling; and dcbz instructions to copy buffers. This kind of
optimization is available to anyone, as the VP8 code is open source under a BSD license.

We’ll keep looking into other ways we can use WebM, so stay tuned on this blog to learn more.

Fritz Koenig, Engineer, recently watched Phantogram - "Don't Move", and Matt Darby, Product Manager, recently watched “JP Auclair Street Segment.”

Tuesday, November 13, 2012

Upcoming HTTPS Certificate Change

If you’re a developer who uses the YouTube API, and if you make your requests to the API using HTTPS, there’s an upcoming change that you should be aware of. Sometime in early 2013, Google will be changing the certificates used for establishing secure HTTPS connections to all of our servers, in what we anticipate will be a backwards-compatible manner. Still, since there are so many slight differences in HTTPS client implementations, we encourage you to test your existing code in advance of this change and to report any issues that you do encounter.

To confirm compatability today in advance of the production change, you can make test API requests to stage.gdata.youtube.com and uploads.stage.gdata.youtube.com using version 1, 2, or 2.1 of the Data API, as described in this blog post about our staging environment. The new certificates are already in place on those servers. Be sure that you’re using https:// as the protocol.

If you’re using HTTP instead of HTTPS to access the YouTube Data API then you also won’t be affected by the new security certificates—but you really should start using HTTPS!

Developers who still rely on ClientLogin for handling authorization (which we also don’t recommend) have one additional thing to test, even if your actual YouTube API requests don’t use HTTPS: ClientLogin requests are made https://www.google.com/accounts/ClientLogin. Because we do not have a staging domain name set up for www.google.com, the recommended way of testing ClientLogin in advance of the certificate change is to hardcode the IP address for the domain name www.google.com in the /etc/hosts file of your computer. Be sure to remove that entry when you’re done testing.

We don’t yet have a specific date in mind for making the switch in production, and when we do, it will be added as an update to this blog post. Please don’t wait until the last minute to test your code, though!

Jeff Posnick, YouTube API Team

Friday, September 28, 2012

Cool YouTube apps from Google I/O 2012

We're constantly amazed at the innovative ways that developers incorporate YouTube into their applications. At Google I/O this year, 12 partners (over 30% from outside the U.S.) demonstrated their apps in the YouTube section of the Developer Sandbox, a demo area highlighting applications based on technologies and products featured at I/O.

Google's own Daniel Sieberg, an Emmy-nominated journalist, interviewed some of our partners about their use of the YouTube APIs.

With Daniel’s hectic schedule, he only had time to interview a handful of our great partners.  With that in mind, we highlighted all the awesome apps showcased by our partners at the YouTube API Developer Sandbox.

Business.me (YouTube Data API and YouTube Player API)

OverviewBusiness.me, headquartered in Singapore, is the place to share and discover videos about business.  They have created a video-sharing site to help producers of business videos reach their audience.  The site also helps business professionals discover relevant business information in video format.
Fun FactOscar Moreno, CEO, not only holds Business and Law degrees, he helped launch several startups (Business.me, Netjuice, Keldoo, and Tuenti).

Code Hero (YouTube Data API)

OverviewCode Hero teaches you to code through a fun, 3D game. Become a code hero and shape the future!
Fun FactThe Code Hero Team implemented the recording mechanism in the game that exports to YouTube at a 3 day hackathon!

Bonus: The game has
sharks with lasers attached to their heads!

Flipboard (YouTube Data API and YouTube Player API)

OverviewSee everything on Flipboard, all your news and life’s great moments in one place. Using the YouTube Data API, Flipboard lets users discover, rate, share, and comment on top videos from YouTube. In addition, users can access their own videos and subscriptions, and subscribe to other YouTube users.
Fun FactFlipboard launched an Android app one week before I/O with a YouTube and Google+ integration!

LOOT Entertainment by Sony DADC (YouTube Data API)

OverviewGather your friends and set up your own production crew inside PlayStation®Home! What will you be? Director? Actor? Cinematographer? Extra? Try them all! Check out the amazing Machinima tools to help you record, light and build your film or television sets! What will you make?
Fun FactLOOT gives you tons of sets to make your own movies (machinima) on the PS3, including a Ghostbusters Firehouse Stage Set!

Moviecom.tv (YouTube Data API and YouTube Player API)

OverviewA simple and easy online video platform for businesses. Record, centralize and share instantly.  Moviecom.tv also allows you to link directly to your YouTube account through the YouTube APIs.
Fun FactThe founders flew all the way from Glasgow to attend Google I/O!

Parrot (YouTube Data API and YouTube Player API)

OverviewThe Parrot AR.Drone is a quadricopter that can be controlled by a smartphone or tablet. Get more out of your AR.Drone with the AR.Drone Academy. Keep track of all your flights on the Academy map.  Watch your best videos with added statistical feedback and directly share online with pilots from all over the world!
Fun FactParrot makes remote controlled flying devices that can record and track their flights!

PicoTube - Vettl, Inc. (YouTube Data API and YouTube Player API)

OverviewPicotube uses content from YouTube and allows users to create avatars, watch clips together, create playlists, and rate videos selected by other video jockeys.
Fun FactPicotube was the Grand Prix winner of TechCrunch Tokyo 2011!

Skimble (YouTube Data API and YouTube Player API, and new Android Player API)

OverviewHere to power the mobile fitness movement, Skimble offers fun, dynamic and social applications for everyone. Available now are Skimble's Workout Trainer and GPS Sports Tracker apps that help motivate people to get and stay active.  Skimble uses the YouTube Player API to display fitness videos.  
Fun FactCo-founder Maria Ly got the crowd moving at one of YouTube’s Google I/O Sessions!

Squrl (YouTube Data API and YouTube Player API)

OverviewSqurl is a great place to watch and discover video. Know what videos are trending, receive recommendations on what to watch and see what your friends are watching.
Fun FactCo-founders Mark Gray and Michael Hoydich also founded the successful software development company IndustryNext together in 2004!

Telestream (YouTube Data API and YouTube Player API)

OverviewTelestream demonstrated Wirecast for YouTube, a live video production and streaming product, which was developed specifically for Google YouTube partners.  Telestream specializes in products that make it possible to get video content to any audience regardless of how the content is created, distributed or viewed (entire process).  
Fun FactTelestream’s NASCAR Project won the IBC2012 Innovation Award!

Vidcaster (YouTube Data API and YouTube Player API)

OverviewVidCaster is a video site creation platform that allows you to create a video portal instantly from your existing video library on YouTube or other video hosts. Choose from a beautiful set of designer themes and customize to your heart's content using VidCaster's powerful template language.
Fun FactKieran Farr, CEO and co-founder, used to drive a taxi full-time in San Francisco before becoming a successful entrepreneur!

WeVideo (YouTube Data API)

OverviewWeVideo is a cloud-based video editing suite that allows easy, full-featured, collaborative HD video editing across Google Drive, Chromebooks, and Android devices.
Fun FactWeVideo partnered with Marvel and YouTube to allow fans to create their own trailers!

Monday, September 24, 2012

YouTube Channels: Get with the Program!

It's never been easier to create compelling videos and build a social presence on YouTube.  At this year's Google I/O, YouTube product managers and channel gurus Dror and A.J. presented tips and tricks for making great content centered around raising brand awareness, raising money, and obtaining feedback about your products and services.

Don't worry if you missed their talk, we recorded it!  So, sit back, grab some popcorn, and get ready to learn how to showcase your brand in front of YouTube's 800 million unique visitors per month!

Click here to view the slides from the video above.

Not sold yet? Well, have a sneak peek at some of the great material they cover below, and remember Dror and A.J.’s number one recommendation: make content, not commercials!

Sneak Peek

  • Tips and Tricks
  • What's your goal?
    • Raising awareness
      • Master your PR via video (include all your features and make bloggers’ lives easier)
      • Provide product/service demo videos to promote your company
      • Tell backstories about clients using your products/services
    • Raising money
      • Add video to your crowdfunding pitch to increase funds raised by 114% (source: Indiegogo)
    • Researching and supporting users
      • Record tutorials to promote and educate (see which features are the most popular using YouTube’s Analytics... you might be surprised)
      • Use Google Hangouts for scalable office hours and virtual focus groups
      • Figure out what features customers like/dislike via the world’s largest focus group
  • Resources to learn more

Wow, you made it this far without watching the video? Did we tell you they fill the presentation with awesome videos that showcase their points (including Chuck Testa)? Nope!? Well, now you know, and you will definitely want to watch the whole thing!

-Jeremy Walker, YouTube API Team

Friday, September 14, 2012

The YouTube API on Stack Overflow

Many of you are already familiar with the terrific Stack Overflow website, which has become the de facto resource on the web for all types of programming questions. And many of you have been asking YouTube API questions on Stack Overflow for some time now, but haven’t received any official responses from the YouTube API Developer Relations team. That’s because, for the past five years or so, our focus has been on providing developer support via our dedicated Google Group. We’ve decided that instead of continuing to maintain a dedicated Google Group for YouTube API questions, it would help more users if we focused on responding to Stack Overflow posts.

We encourage all developers who have questions about the YouTube API to start posting on Stack Overflow today using the tag youtube-api. You can use this new question template to pre-populate the tag for you so that you don’t forget. While we’ll do our best to find and answer relevant questions that aren’t tagged with youtube-api, you’d be making our job easier (and you’d get a quicker answer) if you tag things correctly from the get-go.

Stack Overflow prides itself in being a destination for questions and answers, and not a place to file bug reports or feature requests. We ask that developers do not post on Stack Overflow for those sorts of things, and instead make use of the templates we have for filing a bug or filing a feature request in our existing public issue tracker. (Be sure to check the list of existing open issues before filing a duplicate.)

On October 15, we’ll be switching the existing discussion Google Group into archive-only mode, meaning that it will no longer accept any new posts. You don’t have to wait until October 15 to start asking questions on Stack Overflow or to file reports in the issue tracker, though.

For those developers who mainly “lurked” in the discussion Google Group and used it as a way of getting official announcements about the YouTube API, we have a number of other communication channels to recommend. Subscribing to this blog’s RSS feed is a great idea, for instance. You can also follow us on Google+ at http://google.com/+YouTubeDev. If you’d like to submit a question to one of our weekly YouTube Developers Live broadcasts, you can do that for the next upcoming scheduled show. Finally, for those who prefer to get updates via email, we will be keeping the announce-only Google Group active, and we’ll continue to post important messages there.

Jeff Posnick, YouTube API Team

Tuesday, August 28, 2012

Video Tags: Just for Uploaders

Update: This change also applies to <category scheme="http://gdata.youtube.com/schemas/2007/keywords.cat"> tags, which were not mentioned in the original announcement.

If you follow the YouTube Creator Blog, you might have recently seen a post announcing that video tags (also known as keywords) would no longer be displayed to viewers of a video on YouTube’s website. They aren’t going away from the video itself, though—the owner of the video can still create tags for new videos and edit tags for existing videos, and video tags will still provide an important signal used to surface relevant results when searching for videos.

We’re going to be making some corresponding changes to all versions of the YouTube Data API to mimic this behavior in API responses. Starting later today, August 28, on the staging server and September 4 on the production server, any time you get a video entry back from any API method, it will have an empty <media:keywords/> element. This is a valid response from the API that your application should already handle gracefully, since videos are not required to have any keywords to begin with.

The exception to this rule is when you make authenticated requests to the API, and you request a video entry that’s owned by the currently authorized user. In that scenario, you will get back a <media:keywords> element that contains the full list of tags for the video, and you can read, update, or remove those video tags using the standard API operations.

Important: If your application allows video owners to update the metadata of their videos, please ensure that you include the proper Authorization header for both read and write operations. Otherwise, you could accidentally return an empty list of video tags when retrieving an existing video, and end up overwriting the video’s tags if you update the metadata. Video tags continue to play an important role in helping viewers discover your videos when searching on YouTube.com or via the API, so if your application does support metadata editing, please make sure you allow owners to tag their videos properly.

Jeffrey Posnick, YouTube API Team