0

Widget Submission Approval Time

Has anyone successfully deployed a widget to the public yet? What is the time frame you experienced with the Yahoo and OEM approval of the widget? Just trying to get a rough idea of the time required for approval.

Thanks

by
19 Replies
  • So for us this took about 12 weeks, most of this in OEM QA. I believe this was longer then hoped and the process is being streamlined. We had a few obvious issues on our part, but there were a few hidden gotcha's that caught us that I can share to help ease the process.


    1. The Videoplayer View code in the guide (pg 203) has a few bugs. If you use the back button on the remote when on this view you will go back two views instead of one. Also there are some issues with the FF and RW keys on Samsung TVs. See my next post for an updated view code that solves these issues.

    2. The Back Button on the remote is the main cause we found for losing focus. This would happen particularly when reusing views. For example I had a "Cast Grid View" with a list of a show's cast members. If this view initially had a show with 5 cast members and the 5th cast member was highlighted then the user clicked the back button on the remote (F10 or back button in simulator), then selected a different show with 3 cast members and returned to the view, the grid would reset with 3 items but the engine would try to focus on the now non-existent 5th slot. This was solved by resetting the focus to the back button or first item in the focusView method of the view (you may need to add this method). NOTE setting focus in the updateView method will NOT work. Also I develop on a Mac Book Pro with Ubuntu running in a VM I had to use the VM's "Send Key" command to send an F10.

    2.a Sometimes we would disable a button in a view when we didn't have content. Make sure you're testing this case for backButton issues as well.

    3. We we're getting some hinky feed data because we we're using existing feeds. These would sometimes have HTML entities (  © etc.) I had to write a custom routine to replace these entities since the engine won't convert them.

    4. Make sure you're checking your settings, TOS and About pages (the Gear button on bottom or green button on remote). We just provided links to web TOS on these screens.



    Hope this helps
    0
  • Updated Video Player View
    CODE
    /**
    * @author jstone

    Basic Video Player. Handles double back actions and some strange stop behavior on Samsung TVs.
    */

    var VideoPlayer = new KONtx.Class({
    ClassName: 'VideoPlayer',

    Extends: KONtx.system.FullscreenView,


    createView: function() {
    this.controls.overlay = new KONtx.control.VideoTransportOverlay().appendTo(this);

    this.player = new KONtx.videoplayer({
    viewId: this.config.viewId,

    events: {
    onStateChange: (function(event) {
    if(event.payload.newState == event.payload.videoplayer.states.STOP) {
    this._checkAndPreviousView();
    }
    if(event.payload.newState == event.payload.videoplayer.states.ERROR) {
    log('');log('');log('');
    log('Received error state from video player');
    log('');log('');log('');
    this._showErrorDialog();
    }
    }).bindTo(this),
    onPlaylistEnd: (function(event) {
    // Solves double back button issue.
    this._checkAndPreviousView();
    }).bindTo(this),
    onVideoLoadError: (function(event) {
    log('');log('');log('');
    log('Unable to load video. Most probably cause was no supported bitrate for this connection', $dump(event.payload, 4));
    log('');log('');log('');
    this._showErrorDialog();
    }).bindTo(this),

    // These two deal with some Samsung issues with FF and RW keys
    onFastForwardKey: function (event) {
    log('=========================================');
    log('');
    log(' Fast Forward keycode received - stopping default event behavior!');
    log('');
    log('=========================================');

    event.preventDefault();
    },
    onRewindKey: function (event) {
    log('=========================================');
    log('');
    log(' Rewind keycode received - stopping default event behavior!');
    log('');
    log('=========================================');

    event.preventDefault();
    }
    }
    });
    this.player.attachAccessory(this.controls.overlay);
    },

    _showErrorDialog: function() {
    var self = this;
    this._errorDialog = new KONtx.dialogs.Alert({
    title: "Video Playback Error",
    message: "We encountered an error attempting to playback the requested video.",
    buttons: [
    { label: "Ok", callback: function() {

    this._checkAndPreviousView();
    } }
    ]
    });
    this._errorDialog.show();
    },

    focusView: function() {
    this.controls.overlay.focus();
    },

    _backListener: function (event) {
    event.preventDefault();
    this._checkAndPreviousView();
    },
    // Solves double back button issue
    _checkAndPreviousView: function () {
    if (!this._previousViewHasBeenCalled){
    this._previousViewHasBeenCalled = true;
    this._unregisterListeners();
    KONtx.application.previousView();
    };
    },

    _registerListeners: function () {
    this._boundBackListener = this._backListener.subscribeTo(KONtx.application, ['onActivateBackButton','onViewChangeInitiated'], this);
    },

    _unregisterListeners: function () {
    if (this._boundBackListener) {
    this._boundBackListener.unsubscribeFrom(KONtx.application, ['onActivateBackButton','onViewChangeInitiated']);
    delete this._boundBackListener;
    }
    },

    updateView: function() {

    this._registerListeners();
    this._previousViewHasBeenCalled = false;

    this.controls.overlay.resetState();
    try {
    log("\n[<<< VideoPlayer.updateView] Current bandwidth bitrate: " + KONtx.messages.fetch(MY.messageKeys.bandwidthBitrate));
    this.player.changePlaylist(this.persist.playlist);
    this.player.setBandwidthBitrate(KONtx.messages.fetch(MY.messageKeys.bandwidthBitrate));
    this.player.startPlaylist();
    } catch (e) {
    log('');log('');log('');
    log("Caught an exception, so going back to sidebar", $dump(e, 5));
    log('');log('');log('');
    this._showErrorDialog();
    }
    },

    hideView: function() {
    this._unregisterListeners();
    },

    });
    0
  • Great, thank you very much for the information.
    0
  • Hi Mike,

    Can you place share the name of your app and also the OEM for which it got approved? Can elaborate on the OEM approval process like who to contact, etc? I wanted to what is the process? Say, my tv widget got Yahoo Gallery approved and I want to target an OEM, say TiVo, for deployment? How should I proceed i.e. who to contact? will Yahoo TV help us in contacting the OEMs?

    Also, can you please share, how we can download and view your TV widget? and for which OEM?
    I have a TiVo box (TiVo HD DVR). Will your widget work on this?

    Thanks a lot.

    Regards


    QUOTE (Mike R. @ Nov 17 2009, 11:23 AM) <{POST_SNAPBACK}>
    So for us this took about 12 weeks, most of this in OEM QA. I believe this was longer then hoped and the process is being streamlined. We had a few obvious issues on our part, but there were a few hidden gotcha's that caught us that I can share to help ease the process.


    1. The Videoplayer View code in the guide (pg 203) has a few bugs. If you use the back button on the remote when on this view you will go back two views instead of one. Also there are some issues with the FF and RW keys on Samsung TVs. See my next post for an updated view code that solves these issues.

    2. The Back Button on the remote is the main cause we found for losing focus. This would happen particularly when reusing views. For example I had a "Cast Grid View" with a list of a show's cast members. If this view initially had a show with 5 cast members and the 5th cast member was highlighted then the user clicked the back button on the remote (F10 or back button in simulator), then selected a different show with 3 cast members and returned to the view, the grid would reset with 3 items but the engine would try to focus on the now non-existent 5th slot. This was solved by resetting the focus to the back button or first item in the focusView method of the view (you may need to add this method). NOTE setting focus in the updateView method will NOT work. Also I develop on a Mac Book Pro with Ubuntu running in a VM I had to use the VM's "Send Key" command to send an F10.

    2.a Sometimes we would disable a button in a view when we didn't have content. Make sure you're testing this case for backButton issues as well.

    3. We we're getting some hinky feed data because we we're using existing feeds. These would sometimes have HTML entities (&nbsp; &copy; etc.) I had to write a custom routine to replace these entities since the engine won't convert them.

    4. Make sure you're checking your settings, TOS and About pages (the Gear button on bottom or green button on remote). We just provided links to web TOS on these screens.



    Hope this helps
    0
  • As your widget flows through the QA process, Yahoo! will work with each manufacturer running the TV Widgets platform to qualify and distribute your widget . A widget will only work on devices that run the Yahoo! TV Widgets platform. As of right now, these include certain TVs from Samsung, LG, Sony, and Vizio.
    rj

    QUOTE (azharbk2009 @ Jan 11 2010, 10:14 PM) <{POST_SNAPBACK}>
    Hi Mike,

    Can you place share the name of your app and also the OEM for which it got approved? Can elaborate on the OEM approval process like who to contact, etc? I wanted to what is the process? Say, my tv widget got Yahoo Gallery approved and I want to target an OEM, say TiVo, for deployment? How should I proceed i.e. who to contact? will Yahoo TV help us in contacting the OEMs?

    Also, can you please share, how we can download and view your TV widget? and for which OEM?
    I have a TiVo box (TiVo HD DVR). Will your widget work on this?

    Thanks a lot.

    Regards
    0
  • Thanks very much, rj.

    This did clear some of my concerns. So, you are saying that as we go through the approval process like Submission of TV widgets to Yahoo TV widget gallery for Yahoo approval and later if the widget is Yahoo approved, Yahoo will then assist/guide in getting the target OEM approval say TiVo, Samsung. Sony, Vizio, etc. right? That is Yahoo will contact each targeted OEM or facilitate that for our TV widget OEM approval?

    Also, TiVo is supported right? Please see the link, http://connectedtv.yahoo.com/partners/tivo...zu6uun8v;_ylv=3

    Regards,
    Azhar

    QUOTE (rj @ Jan 12 2010, 08:55 AM) <{POST_SNAPBACK}>
    As your widget flows through the QA process, Yahoo! will work with each manufacturer running the TV Widgets platform to qualify and distribute your widget . A widget will only work on devices that run the Yahoo! TV Widgets platform. As of right now, these include certain TVs from Samsung, LG, Sony, and Vizio.
    rj
    0
  • Hi Az,

    We did the CBS widget that you saw and have a few more in the works. I can only speak to our experience right now with that app which was released OOQA in late Sept, early Oct. and things are changing quickly.

    Our primary QA was with Yahoo, Initial QA was by Yahoo - after it clears their QA then the OEMs handle some level of QA. That being said the only OEM we saw bugs from was Samsung. The CBS widget was on a bunch of TV's at CES so its running on others apparently. (It works fine on my test LG TV). Yahoo! worked as the conduit between ourselves and the OEMs so we didn't work very closely with the OEMs themselves. I'm assuming this will continue as more and more OEMs come on board (I don't envy Yahoo! in this position- go Yahoo!)

    You seem to be concerned with deploying on TiVO, and I don't have a great answer for this. TiVO wasn't one of the deployed OEMs when we released the widget. I'm assuming as new OEMs come on board they manage their gallery with existing widgets as they see fit.
    0
  • QUOTE (azharbk2009 @ Jan 12 2010, 09:42 PM) <{POST_SNAPBACK}>
    Thanks very much, rj.

    This did clear some of my concerns. So, you are saying that as we go through the approval process like Submission of TV widgets to Yahoo TV widget gallery for Yahoo approval and later if the widget is Yahoo approved, Yahoo will then assist/guide in getting the target OEM approval say TiVo, Samsung. Sony, Vizio, etc. right? That is Yahoo will contact each targeted OEM or facilitate that for our TV widget OEM approval?

    Also, TiVo is supported right? Please see the link, http://connectedtv.yahoo.com/partners/tivo...zu6uun8v;_ylv=3

    Regards,
    Azhar



    Yes, Yahoo! will manage the QA process with the OEMs. We'll communicate any issues they have with your widget. If any issues arise with your widget from one of the OEMs, you will not need to re-submit the widget to yahoo QA. The re-submittal will be sent to the OEM for final validation.

    TiVo does not support the TV Widget Engine. TiVo is referenced on the site to communicate that users can access yahoo experiences on TiVo boxes. We'll try to make this clearer in future revisions of the site.
    0
  • Thanks a lot to both Mike & Roger.

    This did clear up our cencerns with OEM process a lot. Appreciate your response. :)Azhar
    0
  • Hi Mike, Roger,

    We are in process of creating a streaming video player Yahoo TV widget. What is the process to get an OEM testing device, as the video playback on the wdk's simulator is not good? Please can you direct/guide us to the way to get an OEM testing device from any of the OEMs like Sony, Samsung, LG, Vizio, etc.

    Appreciate your help.

    Thanking you.

    Regards,
    Azhar
    0
  • Hello Azhar,

    The way to get a "testing device" is to go and buy a TV which supports Yahoo! Widgets. Any TV with the platform is capable of testing widgets. This is the only supported route for widget testing.

    -Jeremy
    0
  • Hello Jeremy,

    We would like to buy an OEM device, Samsung LN55B650 55" 1080p LCD HDTV (http://www.samsung.com/us/consumer/tv-video/televisions/lcd-tv/LN55B650T1FUZA/index.idx?pagetype=prd_detail&tab=support) for Yahoo TV development. But, according to YWE_Developer_Guide.pdf (found in wdk), page 67 -
    "Deploying Widget Software
    The deployment of widget software is organized into the following five phases (illustrated below):
    1. Development testing using the Widget Development Simulator.
    2. Quality Assurance testing using a development device (if made available by the OEM) on a
    local network.
    3. Widget submission and updates to the widget gallery service.
    4. Staged testing of downloaded software to a mock-production testing environment.
    5. Production testing to devices available to consumers."

    Thus according to point 2 above, one can do QA testing on an OEM development device on local network. We would like to do similar testing for our video player widget before going for Yahoo Widget gallery approval phase.
    Please guide us in acquiring such an OEM development device, specifically Samsung LN55B650 55" 1080p LCD HDTV.

    But, if you are saying that we can deploy/test our video player widget on OEM device, directly (via local netwok) or other way (uploading to gallery, then downloading from it to device), before going for the Yahoo Widget gallery approval phase; Please guide us and let us know to how to acheive this.

    Thanking you.

    Regards,
    Azhar


    QUOTE (Jeremy Johnstone @ Jan 18 2010, 02:50 PM) <{POST_SNAPBACK}>
    Hello Azhar,

    The way to get a "testing device" is to go and buy a TV which supports Yahoo! Widgets. Any TV with the platform is capable of testing widgets. This is the only supported route for widget testing.

    -Jeremy
    0
  • Yes, the process is detailed in the documentation. You upload the widget to the gallery and then after putting the TV into developer mode, you can then download the widget from the gallery despite it not being approved yet by QA for production access.

    -Jeremy
    0
  • Hello Jeremy,

    Thanks for you reply.

    I got a little confused. I thought that we could test our widgets only on specfially provided, sort of 'unlocked', OEM devices/TVs, as mentioned in document. Just to confirm & summarize -
    1. One can deploy one's tv widget on any Yahoo TV supporting OEM/TV by setting it in developer mode.
    2. One can set their TVs in developer mode as follows - (YWE_Developer_Guide.pdf, page 86)
    a) Access your unique Developer Code for your device from the Gallery widget. Press theGREEN key on the remote control while you are in the Gallery widget to launch the Settings view. Select Developer Settings. Toggle the Developer Mode button to On. Sign-in with your Yahoo! ID. A unique Developer Code for your device is displayed, note this code for future reference.

    QUOTE (Jeremy Johnstone @ Jan 19 2010, 10:25 AM) <{POST_SNAPBACK}>
    Yes, the process is detailed in the documentation. You upload the widget to the gallery and then after putting the TV into developer mode, you can then download the widget from the gallery despite it not being approved yet by QA for production access.

    -Jeremy
    0
  • QUOTE (azharbk2009 @ Jan 19 2010, 09:45 PM) <{POST_SNAPBACK}>
    Hello Jeremy,

    Thanks for you reply.

    I got a little confused. I thought that we could test our widgets only on specfially provided, sort of 'unlocked', OEM devices/TVs, as mentioned in document. Just to confirm & summarize -
    1. One can deploy one's tv widget on any Yahoo TV supporting OEM/TV by setting it in developer mode.
    2. One can set their TVs in developer mode as follows - (YWE_Developer_Guide.pdf, page 86)
    a) Access your unique Developer Code for your device from the Gallery widget. Press theGREEN key on the remote control while you are in the Gallery widget to launch the Settings view. Select Developer Settings. Toggle the Developer Mode button to On. Sign-in with your Yahoo! ID. A unique Developer Code for your device is displayed, note this code for future reference.

    You can test your widgets on ANY Yahoo widget enabled TV's. There is no un-locking necessary. It's all outlined in the developer guide. Just skip the last step about submitting an email to Yahoo.
    0
  • What Steve said... ;)
    0
  • Great, thanks guys. You can consider the horse dead :D
    0
  • Mike - we have hit the same QA problem with the double jump with the back button.

    First, thank you for the example. Very helpful.

    Second, we have not done much testing on your example, but what is the expected performance should the "Double back button bug" be fixed? The main point is - we do not want to put in an adjustment only to have to back out that adjustment and run through QA again should the issue be addressed.

    What are your thoughts? Jeremy/Yahoo please chime in here as well?
    0
  • My thoughts are to move forward to the newer (relatively, it was written back August if last year) KONtx.mediaplayer API. :)
    0

Recent Posts

in Non-Technical / Business - Yahoo! TV Widgets