[Qt-qml] [MeeGo-community] Announcing Youttube-API project for Meego // Vote on googlecode project name
Niels Mayer
nielsmayer at gmail.com
Sat Nov 6 01:22:16 CET 2010
> On Wed, Nov 3, 2010 at 4:28 PM, Jarek Wilkiewicz <jarekw at youtube.com> wrote:
> Hi Niels,
> thank you for getting the discussion started!
> Couple of initial thoughts :
> 1. I think that ytd-meego uploader/client (2) could interface with the
> existing youtube-direct implementation. This will make it attractive for
> folks in the community who have already deployed YouTube Direct and want to
> use it with MeeGo devices, this page has some examples (scroll to the bottom
> of the page) : www.youtube.com/direct . Therefore, form my perspective the
> near-term prio of meetube (1) as a replacement/port of youtube-direct is not
> clear, unless I misunderstood the purpose of meetube.
Hi Jarek -- thanks for the helpful response!
Part of getting this discussion started was to help understand what
the task is in the first place. Your reply and some further study
helps me understand the "why" better. As a developer using the Youtube
API, my first take on this task was that it would represent additional
complication for integrating into an existing platform -- I'd probably
just use the API directly. However, now that I've seen some of the
examples and press-releases and role/deployment of YT-direct, I better
understand the purpose of "meetube" as enabling easier access for
existing YT-direct-enabled websites sites with the Meego platform,
e.g. :
http://gigaom.com/video/youtube-direct-abc7/
http://www.digitaltrends.com/computing/youtube-direct-is-helping-media-find-free-videos/
.
Given the media capabilities of the Nokia N8 platform, having a
capture and uploading application that makes them easy to use is a
compelling "platform story" for Meego.
Given the example yt-direct apps for Android and Iphone, the purpose
of yt-direct for meego would be the development of a
platform-integrated media capture, uploading and management tool. This
would allow a single app to record audio or video and upload it to a
yt-direct site without needing to separately capture media and
manually upload it via the web interface. The meego yt-direct app
would automatically authenticate to the chosen submission site based
on stored account information, automatically geotags captured media,
tracks the YouTube Direct JSON assignment feed, and tracks status of
media considered for submission.
> 2. Wrt the YouTube API itself, we currently have multiple language bindings
> (see the list here : http://code.google.com/apis/youtube/code.html), but I'm
> not sure if they're adequate for MeeGo developers. The good news is that the
> APIs can be accessed using straight REST/HTTP, and this is, in fact, what
> ytd-android currently does.
Now that I better understand the original task and the underlying
goal, the task really is a direct port of the existing ytd-android app
to Meego. I saw all the code in project "youtube-direct" and saw much
browser-specific Javascript, and thought that was a necessary part of
the application. I now understand that a custom upload client wouldn't
need an embedded web-browser in which to run JavaScript. The existing
AJAX code is just for uploading from the browser.
Therefore, the task is a port of the existing ytd-android
functionality from Java to Qt, without the need for "hybrid
application development" and an embedded browser based on QtWebKit.
The android app provides the following main functionality/implementation:
* http://code.google.com/p/ytd-android/source/browse/trunk/src/com/google/ytd/SubmitActivity.java
** appears to be the core of the upload part of the application.
** http://code.google.com/apis/youtube/2.0/developers_guide_java.html#Uploading_Videos
* http://code.google.com/p/ytd-android/source/browse/trunk/src/com/google/ytd/GlsAuthorizer.java
** This handles authorization and subscription:
** http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#Authentication
** http://code.google.com/apis/accounts/docs/AuthSub.html
>From the above, it appears there's nothing here that couldn't be
achieved in other languages or platforms.
This could be handled by a standard C++ Qt application that makes and
responds to web requests -- basically a modified version of
http://wiki.forum.nokia.com/index.php/QtMobilityYouPlayer with
capture, uploading, and geotagging functionality added.
Even easier would be to implement with QtQuick. The following gives
programming examples for doing the web authentication for twitter:
http://gitorious.org/qt-qml-demo-playground/qt-qml-demo-playground/trees/master/twitter-oauth
http://gitorious.org/qt-qml-demo-playground/qt-qml-demo-playground/blobs/master/twitter-oauth/TwitterCore/OAuth.js
Any other related Qt/QML example apps people can point me to? In
addition to creating a custom UI backed by HTTP transactions, other
functionality needed includes:
(1) Using QtQuick to access geotagging locations when media captured.
(2) Using QtQuick to capture, compress, and store media from camera
and/or microphone.
(3) Using QtQuick to access system-stored authentication information.
/////////// /////////// /////////// ///////////
Questions/Issues:
Is there a "test" app-engine back-end and submission site that Meego
developers could use to test these implementations, as well as
experiment-with ourselves? One of the reason for wanting a few "real
world" test URLs is to see what level of web-customization and
integration different yt-direct clients might use?
How would the user enter the initial information from the submission
site? With the web interface, it's pretty obvious -- you click the
"upload button" to launch yt-direct embedded in ones webpage. But
there's no obvious submissions URL seen on any of the websites to
enter into ytd-android.
Unfortunately, I had no luck getting yt-direct to launch from any of
the websites mentioned at the bottom of
www.youtube.com/direct so it is hard to evaluate how the uploading
mechanism is used.
For example, http://www.npr.org/templates/story/story.php?storyId=120318815
clicking "allow access" at
http://npr-yaw.appspot.com/AuthsubHandler?articleUrl=http://www.npr.org/templates/story/story.php
...
--> Error: [Line 1, Column 2710, element yt:statistics] Unknown
attribute: 'totalUploadViews'
Second attempt:
http://voices.washingtonpost.com/prepspost-virginia/2009/11/send_us_your_best_rushing_tds.html
> "Error: Server Error
> The server encountered an error and could not complete your request.
> If the problem persists, please report your problem and mention this error message and the query that caused it."
Third attempt: http://www.chicagotribune.com/news/video/
>Error: Server Error
>The server encountered an error and could not complete your request.
>If the problem persists, please report your problem and mention this error message and the query that caused it.
Looking at an API example that more directly translates to Meego --
Python -- the uploader also had problems...
A working example and test site would be useful. Especially because I
did not get an idea of what kinds of
browser-customizations/integrations are possible on the different
sites -- or is it the same basic interface?
I assume any website yt-direct customizations do not affect the
ytd-android app. In other words the ytd-android app is not branded in
any way and allows generic uploading and browsing across multiple
submission sites. Correct?
-- Niels
http://nielsmayer.com
More information about the Qt-qml
mailing list