Engineering and Developers Blog
What's happening with engineering and developers at YouTube
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.
Labels
.net
360
acceleration
access control
accessibility
actionscript
activities
activity
android
announcements
apis
app engine
appengine
apps script
as2
as3
atom
authentication
authorization
authsub
best practices
blackops
blur faces
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
Super Chat API
survey
tdd
theme
tos
tutorials
updates
uploads
v2
v3
video
video files
video transcoding
virtual reality
voting
VR
watch history
watchlater
webvtt
youtube
youtube api
YouTube Data API
youtube developers live
youtube direct
YouTube Engineering & Developers Blog
YouTube IFrame Player API
YouTube live
YouTube Reporting API
ytd
Archive
2020
Nov
2019
Aug
Apr
2018
Dec
Aug
Apr
2017
Nov
Sep
Aug
Mar
Jan
2016
Nov
Oct
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
Follow @youtubedev