Engineering and Developers Blog
What's happening with engineering and developers at YouTube
Feedback Time
Friday, June 27, 2008
Posted by Stephanie Liu, YouTube APIs and Tools Team
Have you used the YouTube APIs? We'd like to hear about how it went, and get your thoughts on how it could be easier. If you have a few minutes, take our
survey
.
Punch and pie for those that complete it! (Well, not really, but you will help us improve the developer resources available.)
You can, of course, always give feedback in our public
discussion forum
as well.
Latest Release Notes
Wednesday, June 25, 2008
Posted by Daniel Danciu, Software Engineer
We have recently pushed a few updates to the YouTube API, so here's a quick overview of a few new features you can play with.
Restrict for videos that have location information
You can now restrict your search to videos that have an associated location (latitude-longitude pair). Simply add a 'location=' empty parameter to the URL of your query, whether it is search, or a query for uploads, playlists or favorites:
http://gdata.youtube.com/feeds/videos?location=
You'll notice that all results returned by the api now have a location returned in the
georss:where
tag:
<georss:where>
<
gml:Point
>
<
gml:pos
>
40.44263458251953 -79.94313049316406
<
/gml:pos
>
<
/gml:Point
>
<
/georss:where
>
This opens the gates for some pretty cool mashups that combine Google Maps and YouTube. (And closes out
this
feature request). We'll be doing some more work with geo in the future, so stay tuned.
Country request returned in the header
We now return the country the request came from in the
X-GData-User-Country
header of the response. For example, if you made the request from Switzerland, you'll see the following header in the response from the API server:
X-GData-User-Country: CH
This is useful in a few cases, the most common of which is an authenticated request to a user's own upload, favorites or playlists feed. The API will, in this case, return all videos in the feed, including the videos that are restricted in the country where the request was made from. Combine
X-GData-User-Country
with the
tag to filter out these videos (for example, you can show the video's thumbnail but disable the playback).
Please note that in order to be able to view all videos of a user (including restricted or private videos), the request has to be authenticated and should not contain additional filtering parameters (like
format
or
vq
).
Don't forget that if you have your own website, you can always forward to the API (and we encourage you to do so) the country of origin or IP of origin of your requests using the
restriction=
parameter. This will ensure that videos are properly filtered for the location where your user is. In this case, the
X-GData-User-Country
response header will return the country specified in the
restriction
parameter.
New Standard Feed: Most Popular
There's a new standard feed out there:
http://gdata.youtube.com/feeds/api/standardfeeds/most_popular
It is different from most_viewed or top_rated in the sense that it uses a smarter algorithm to evaluate the popularity of a video. Oh, and if you're an international user, don't forget that the API supports standard feeds for all the countries YouTube does. For example, if you are interested in most popular videos in Germany, du kannst einfach:
http://gdata.youtube.com/feeds/api/standardfeeds/de/most_popular
** This is now called "Rising Videos" on the main site.
Same Authsub tokens for uploads.gdata.youtube.com and gdata.youtube.com
You can now use the same AuthSub token to query a user's inbox, to update a playlist or to upload a video, even with secure AuthSub. No need for hacks. Read more about AuthSub for YouTube in
the docs
.
Programmatic login token is valid for 2 weeks
We have extended the life time of the authentication token obtained via
ClientLogin
from 1 day to 2 weeks. This will hopefully enable a better user experience for all clients of installed applications by not forcing them to login every day.
Enjoy! If you have any questions or feedback, visit us in our
developer forum
.
Python client library support for the YouTube API
Friday, June 20, 2008
Posted by Jochen Hartmann, YouTube APIs and Tools Team
I'd like the announce the release of the
Python client library
extensions for YouTube, as well as the
developer's guide
and
two sample applications
.
The samples use the Python client library with
Google App Engine
to demonstrate how to perform a
parametrized search query
and
browser-based uploads
.They are improved versions of the samples that Stephanie and I built for our
Code Lab
at Google I/O last month.
Happy coding! As always, if you have questions or comments, share them with us in our
developer forum
.
Fn ( Fried (Macaroni, Cheese), Creativity (EA, YouTube) ) = Awesome Spore Videos on YouTube
Tuesday, June 17, 2008
Posted by Nikhil Chandhok, Product Manager - YouTube Syndication
Last March, over a lunch of fried macaroni and cheese, folks from EA and YouTube doodled about bringing the power of user-generated content to video games. After awhile, we decided that it would be cool if people could share their in-game user-generated content on YouTube as a way of demonstrating their super gaming skills, sharing accomplishments, and eventually telling more elaborate stories.
Today, we are happy to announce that our doodles have turned into reality with the launch of
EA's Spore Creature Creator
with YouTube APIs built into it, allowing users to share their creativity with others. Starting today, users can download the Creature Creator, build a wacky creature, and then upload their creations directly to YouTube. We
announced this back in March
and needless to say, we're ecstatic that the Creature Creator is now open for business. A pretty active community on YouTube has already
uploaded
thousands of videos.
I've highlighted some of my favorite creature videos, all uploaded from the Creature Creator:
If you haven't tried creating your own creature, you can download the Creature Creator from the
Spore website
. You can even enter your creature in EA's Ultimate Spore Creature Creator Dance-off contest. More information about this contest is available on the
Spore YouTube channel
. You can also try out YouTube's
AudioSwap
feature to set your creature's dancing to music.
As the world of the web and gaming meet, we are looking for interesting ways to create new entertainment experiences. In May, we
announced
a similar partnership with Sony Computer Entertainment which gives PS3 game developers a simple way to incorporate video upload into their video games. We continue to explore this very new and interesting space and hope that developers will continue to use our APIs in new and exciting ways!
Registrations Open for "Powered By YouTube"
Thursday, June 12, 2008
Posted by Stephanie Liu, YouTube APIs and Tools Team
Since
our big launch
back in March, we've held a few sessions here and there -- Google I/O and smaller hackathons, and it's been really fun meeting you guys in person. So we thought it was about time to have our own event here at the office in San Bruno (check out the video to see a bit of the office). This will be all YouTube APIs, all the time! The agenda is still being finalized, but we'll have "bigger picture" sessions as well as nitty gritty hacking time to get started and learn best practices. You'll have time to mingle with a diverse set of developers from different companies and the YouTube engineers and product managers.
If you're interested, here are all the details:
Thursday,
July 10
, 2008
10:30am - 5:00pm (tentative)
YouTube HQ
@ 901 Cherry Ave. San Bruno, CA 94066
Cost:
Free
Reserve your spot and register here:
http://www.youtube.com/poweredbyyoutube
Already have questions, comments, or session suggestions? Let us know in the
forum
. Hope to see you here next month!
Spotlight on: TimeTube
Wednesday, June 11, 2008
Posted by Kuan Yong, Product Manager
Many of us have created fun and exciting websites using the
YouTube APIs
, but w
hy write an app that looks like everyone else's? The creative minds at
Dipity
have shown us that video sites can be much more than just a collection of video listings and embedded players. Dipity's
TimeTube
is a great example of how you can massage the rich video metadata that our APIs provide to transform the way people browse and interact with videos. TechCrunched on May 9, TimeTube has soared in popularity. Derek Dukes, Co-Founder of Dipity, gives us the inside scoop.
Tell us about Dipity. What's your origin story? (And favorite YouTube video).
Dipity was started by 3 friends with the mission of improving the context of information on the web and integrating text, audio, video, images and maps together on interactive timelines. We started the company in April last year after realizing we'd been independently working on similar ideas and there was starting to be the beginnings of a broader meme. Since then we've worked on the core technology, added a few new people to the mix, launched the site and rolled out an API and a couple of mash-ups.
As for my favorite YouTube video, right now it's the
Chad Vader
version of
Chocolate Rain
, but I'm sure in the next couple days I'll find something else that takes the top spot.
Tell us about TimeTube. How'd you come up with it? What's next?
We got the idea for TimeTube shortly after completing work on our own set of
APIs
. As you know the best way to find limitations and bugs in your APIs is to try and build something interesting and see what falls on the floor and where you run in to limitations. It started as one of our hack days which we do every other week (our version of 20% time) and once we saw how compelling the results were, we added some features and decided to release it as a formal mash-up. In terms of how successful it's been we've been pretty blown away. After it moved quickly from 'hot in tech' to the front page of Digg, we got picked up by blogs like TechCrunch, Life Hacker and were even featured on the Net@Night podcast. From there the blog-o-sphere took over and we're still getting picked up by blogs here and there. Going forward, we're looking at different enhancements and responding to user feedback so look for updates in the future.
Tell us about the implementation. How'd you do it?
We had the YouTube interaction and timeline creation done in a few hours. The backend is written in PHP using the
Dipity API
and the
Google Data PHP client library
. We perform a
search query
with the YouTube API, iterating over the results and creating an event on a Dipity timeline for the most relevant videos (currently capped at 50). We keep a mapping of search terms to timelines to avoid duplicates. Searches mapped to an existing timeline are refreshed if the timeline is more than 24 hours old. The Dipity API and embeddable timeline widget provide for most of the heavy lifting, while a few hundred lines of PHP, HTML, JavaScript and CSS glue it all together.
YouTube in your Living Room
Monday, June 9, 2008
Posted by Satyajeet Salgar, Partner Technology Manager - YouTube
A little after I started at YouTube I casually asked my young niece, who seemed pretty impressed when I told her that I worked here, if she'd watch YouTube on television. She thought for a while before finally asking hesitantly, "But what would YouTube look like on TV?" I have a much better answer for her these days than I did then!
The YouTube Syndication team is excited that our users now have a number of options to consume YouTube on their television sets. We're proud to have helped many leaders in the consumer electronics space create YouTube experiences on TV.
Getting YouTube right on TV is extremely challenging from both a design and technology perspective. Each of our partners' engineering and design teams had similar questions:
* What would users, accustomed to a simple remote control interface for their TVs, expect given their typcially much richer interaction options when surfing youtube.com?
* How could the YouTube experience be personalized for TV?
* How could the extra computing power and memory often required to make this work on their devices be added effectively?
* What were the most important YouTube features to retain, and how would they translate to a 10-feet user experience?
All these partners used the YouTube APIs to build their products. One partner's summary of their experience with the APIs: "The YouTube API was very simple, but powerful. It enabled us to develop our user interface flexibly and quickly." Music to our ears!
Here's a quick overview of some products that enable you to access YouTube from your living room...or anywhere else you may have your television(s)!
AppleTV
: In
June 2007
this became the first product to offer a way to watch YouTube on your TV.
Sony Bravia Internet Video Link
: Last week, Sony announced the general availability of YouTube content on their Bravia TVs via the Internet Video Link. Some clips from the YouTube team at the event are linked below.
Nice tie
, Brent!
HP MediaSmart
:
HP announced availability
of YouTube as part of the HP MediaSmart platform.
Panasonic: At
CES 2008
, Panasonic announced
VieraCast
, which allows you to
access YouTube
directly from your TV. The device will be available later this month.
Samsung: Samsung launched their IPTV device which supports YouTube (currently only available in South Korea) in early May.
TiVo
:
Announced that YouTube would be available
on their devices.
Verismo
: A startup in the IPTV space, has
announced availability
of a YouTube-enabled device.
We're excited that the YouTube APIs have enabled these products and look forward to sharing information about even more products, upgrades and innovations from our partners going forward. The following may seem like a "marketing way" to say it, but it is true! We're determined to see more devices and applications
"Powered by YouTube"
so that our vision of
"YouTube Everywhere"
feels even more real to our users.
Videos from the Sony announcement in NYC:
And some photos!
Google I/O Wrapup
Wednesday, June 4, 2008
Posted by Stephanie Liu, YouTube APIs and Tools Team
Last week, the team spent an exciting couple of days at
Google I/O
. We all had a lot of fun, gave a few sessions, met a ton of people, and had good questions and discussions with developers. The best part was hanging out at the booth, talking to people one-on-one, seeing their projects, and hearing about other cool YouTube sites that are out there. For example,
Michael Geary
wrote
AnnoTube
, a
jQuery
plugin that uses the
JavaScript Player API
to synchronize related web pages or HTML to the video.
In a discussion about mobile, a developer pointed us to a
QR code generator
for YouTube videos. This site generates an image that, if you have the right software installed on your phone, will link you directly to the video URL if you take a picture of it on your phone.
If you're interested in the YouTube sessions, you can find the the videos and slides
here
. Specifically, John's
Data API overview
, and Geoff's
player APIs
session are available.
Since the codelab (about using the APIs with
App Engine
) wasn't filmed, you can find all the materials below.
The code project where all the materials live:
http://code.google.com/p/hello-youtube
The wiki that goes through the exercises during the session:
http://code.google.com/p/hello-youtube/wiki/Codelab
You can check all the code out from SVN, or just download the zip files. We also posted our slides and the standalone extensions to the client library as well:
http://code.google.com/p/hello-youtube/downloads/list
We also took some videos (of course) and photos from the booth. Below is a playlist with some of us at the booth:
The album with pics from the booth and some of the sessions:
We feel like I/O was a great success, so thanks to everyone who came out to the sessions, talked to us at the booth, and shared your enthusiasm about YouTube with us. It's always great to meet you guys in person! If you couldn't make it this year, check out one of the free
Google Developer Days
that are being held around the world later this year.
Labels
.net
acceleration
access control
accessibility
actionscript
activities
activity
android
announcements
apis
app engine
appengine
apps script
as2
as3
atom
authentication
authorization
authsub
best practices
blackops
bootcamp
captions
categories
channels
charts
chrome
chromeless
client library
clientlibraries
clientlogin
code
color
comments
compositing
create
curation
custom player
decommission
default
deprecation
devs
direct
discovery
docs
Documentation RSS
dotnet
education
embed
embedding
events
extension
feeds
flash
format
friendactivity
friends
fun
gears
google developers live
google group
googlegamedev
googleio
html5
https
iframe
insight
io12
io2011
ios
iphone
irc
issue tracker
java
javascript
json
json-c
jsonc
knight
legacy
Live Streaming API
LiveBroadcasts API
logo
machine learning
mashups
media:keywords keywords tags metadata
metadata
mobile
mozilla
NAB 2016
news
oauth
oauth2
office hours
open source
partial
partial response
partial update
partners
patch
php
player
playlists
policy
previews
pubsubhubbub
push
python
quota
rails
releases
rendering
reports
responses
resumable
ruby
samples
sandbox
shortform
ssl https certificate staging stage
stack overflow
stage video
staging
standard feeds
storify
storyful
subscription
sup
survey
tdd
theme
tos
tutorials
updates
uploads
v2
v3
video
video files
video transcoding
virtual reality
voting
watch history
watchlater
webvtt
youtube
youtube api
youtube developers live
youtube direct
YouTube live
YouTube Reporting API
ytd
Archive
2016
Aug
May
Apr
2015
Dec
Nov
Oct
May
Apr
Mar
Jan
2014
Oct
Sep
Aug
May
Mar
2013
Dec
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
2012
Dec
Nov
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2011
Dec
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2010
Dec
Nov
Oct
Sep
Jul
Jun
May
Apr
Mar
Feb
Jan
2009
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2008
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
2007
Dec
Nov
Aug
Jun
May
Feed
YouTube
on
Follow @youtubedev