l Hands-on with Sling TV DVR: A valuable work in progress
itMYti.com < New IT WebNews
Category: news    |    Added: 2016-12-22 13:55:03    |    View: 121

Sling TV's cloud DVR has some issues to work out in beta testing, but even now it's better than nothing.

slingdvr1
Credit: Jared Newman
"; adDivString = "
" + adString + "
"; IDG.GPT.defineGoogleTagSlot(slotName ,[[320,50],[300,250],[300,50]]); } placementDiff = applyInsert($(this), adDivString); if (DEBUG) { console.log("Just placed an ad and the placementDiff is: " + placementDiff); } placementTarget = cumulativeHeight + placementDiff + INTERMODULE_HEIGHT + AD_HEIGHT_BUFFER; } else if (moduleCounter < articleDRRModuleList.length){ var elementId = "drr-mod-"+moduleCounter; var moduleDivString = "
"; modules.push(elementId); placementDiff = applyInsert($(this), moduleDivString); if (DEBUG) { console.log("Just placed a module and the placementDiff is: " + placementDiff); } placementTarget = cumulativeHeight + placementDiff + INTERMODULE_HEIGHT + MODULE_HEIGHT_BUFFER; moduleCounter++; } loopCounter++; } // Avoid placing elements too soon due to non-large figures inflating the cumulative height if ($(this).is("figure") && !$(this).is("figure.large")) { cumulativeHeight += GRAF_HEIGHT; } else { cumulativeHeight += $(this).height() + GRAF_HEIGHT; } } }); // end $("#drr-container").children().each() // clone Related Stories module to come in after eighth para in article body for mobile breakpoint display var $relatedStories = $('.related-promo-wrapper'); if ($relatedStories.length) { var $relatedStoriesClone = $relatedStories.clone(); $relatedStoriesClone.insertAfter( "#drr-container > p:eq(7)"); } // For mobile only, place ad after second paragraph. if (firstMobileAdHtml) { $(firstMobileAdHtml).insertAfter("#drr-container > p:eq(1)"); } var $insiderPromo = $('.insider-promo-wrapper'); if ($insiderPromo.length) { var $insiderPromoClone = $insiderPromo.clone(); $insiderPromoClone.insertAfter( "#drr-container > p:eq(1)"); } IDG.GPT.trackOmniture(); // Add Right rail module content var placeModule = function( data ) { var placementId = $(data).attr("data-placement-id"); $( "#"+placementId ).html( data ); }; for (i=0; i" + adString + "
"; } /** * @param jqo Original jquery object target * @param divString The div to be inserted. * @return Difference in height between original placement target and final target. * Checks first 6 elements for an allowable placement (600 pixel window). * If none, place element in first location that does not follow a reject element. */ function applyInsert(jqo, divString) { if (DEBUG) { console.log("applyInsert at top and jqo index is: " + jqo.index()); } for (var i=0; i<=6; i++) { $thisElement = jqo.nextAll().andSelf().slice(i, i+1); if (DEBUG) { console.log("Checking first six and i is: " + i + " and this element index is " + $thisElement.index() ); } if ($thisElement.index() < 0) { break; } if (allowPlacement($thisElement)) { return addElement(jqo, $thisElement, divString); } } if (DEBUG) { console.log("No nearby allows so just place in first spot that is not after reject."); } var numElements = jqo.nextAll().length; var startIndex = jqo.index(); for (var i=startIndex; i<=numElements; i++) { var $element = $("#drr-container").children().eq(i); // This element is eligible when not null, not in placement index, and previous element is not reject if ($element != null && (placementIndex == null || placementIndex.indexOf(i) == -1) && !isReject($element.prev())) { return addElement(jqo, $element, divString); } } if (DEBUG) { console.log("Not going to place element: return 0."); } return 0; } /** * @param jqo Original jquery object * @param allowElement Element that is good placement for module/ad * @param divString The div to be inserted before the good element * @return placementHeightDiff Diff in height between original placement target and current target. * * If element is not too close to the end the insert the div before allowable element. * Add element index to placementIndex to keep track of which elements already have placements */ function addElement(jqo, allowElement, divString) { var offset = allowElement.index() - jqo.index(); if (DEBUG) { console.log("addElement: jqo index is " + jqo.index() + " allowElement index is " + allowElement.index()); } if (elementNotNearEnd(allowElement, RIGHT_PIXEL_WINDOW)) { allowElement.before(divString); if (DEBUG) { console.log("addElement: Adding " + allowElement.index() + " to placementIndex."); } placementIndex.push(allowElement.index()); if (offset == 0) { return 0; } else { return getHeightDifference(jqo,allowElement); } } else { if (DEBUG) { console.log("addElement: Near the end so do NOT add."); } return 0; } } function getHeightDifference(jqo,allowElement) { var offset = allowElement.index() - jqo.index(), height = 0, children = null; if (offset > 0) { children = $("#drr-container").children().slice(jqo.index(), allowElement.index()); } else { children = $("#drr-container").children().slice(allowElement.index(), jqo.index()); } if (children != null) { children.each(function(i) { if (DEBUG) { console.log("About to add this element's height to heigh diff offset"); console.log($(this)); } height += $(this).height() + GRAF_HEIGHT; }); } if (offset < 0) { height *= -1; } if (DEBUG) { console.log("getHeightDifference: offset was " + offset + " and height diff is : " + height); } return height; } function allowPlacement(jqo) { if (jqo.prev() != null && isReject(jqo.prev())) { return false; } return true; } function isReject(jqo) { if (jqo != null) { if (jqo.is('h2') || jqo.is('h3') || jqo.is('h4') || jqo.is('h5')) { if (DEBUG) { console.log("isReject: found header"); } return true; } } return false; } // Returns true if height of all elements after this one is more than 500; false otherwise function elementNotNearEnd(element, pixelWindow) { if (pixelWindow === null) { pixelWindow = 500; } if (element === null) { return false; } var remainingHeight = 0, children = $("#drr-container").children().slice(element.index()); if (children === null) { return false; } children.each(function(i){ remainingHeight += $(this).height(); }); if ( remainingHeight > pixelWindow) { return true; } else { if (DEBUG) { console.log("Element too close to end. Remaining height is: " + remainingHeight + " and window is " + pixelWindow); } return false; } } } // end function executeDRRMobile() function executeDRRDesktop() { var heroImgHeight = $('figure.hero-img').outerHeight(true); if (heroImgHeight === null) { heroImgHeight = 0; } var galleryItemHeight = $('figure.thm-gallery').outerHeight(true); if (galleryItemHeight === null) { galleryItemHeight = 0; } var atAglanceTop = $('.at-a-glance.top').height(); if (atAglanceTop === null) { atAglanceTop = 0; } var drrContainerHeight = $('div#drr-container').outerHeight(true); var topIMUheight = $('#topimu').height(); if (topIMUheight === 0) { topIMUheight = 600; } var relatedPromoHeight = $('div.related-promo-wrapper').outerHeight(true); if (relatedPromoHeight === null) { relatedPromoHeight = 0; } var videoHowtoHeight = $('div#video-howto-wrapper').outerHeight(true); if (videoHowtoHeight === null) { videoHowtoHeight = 0; } var teadsInreadHeight = $('div.teads-inread').height(); if (teadsInreadHeight === null) { teadsInreadHeight = 0; } var unrulyAdHeight = $('.unruly_in_article_placement').height(); if (unrulyAdHeight === null) { unrulyAdHeight = 0; } //just in case the in article ads are picked up... var collapsibleAdHeight = unrulyAdHeight + teadsInreadHeight; var workingRRheight = ( (heroImgHeight + galleryItemHeight + atAglanceTop + drrContainerHeight) - (topIMUheight + relatedPromoHeight + videoHowtoHeight) ); workingRRheight = workingRRheight - collapsibleAdHeight; var DEBUG = false; if (DEBUG) { console.log('-----working RR height = ' + workingRRheight); } var articleDRRModuleList = ["dealposts","products.latest-reviews"], moduleUrls = [], modules = [], moduleCounter = 0, loopCounter = 0; var adPositions = new Array(0,1,3); // IMU, IMU, module, IMU, module if (false) { var dealpostsIdx = articleDRRModuleList.indexOf("dealposts"); if (dealpostsIdx > -1) { articleDRRModuleList.splice(dealpostsIdx, 1); adPositions = [0, 1, 2]; } } for (var i=0; i 650) { numItems = 1; } if (workingRRheight > 1350) { numItems = 2; } if (workingRRheight > 2300) { numItems = 3; } if (workingRRheight > 2950) { numItems = 4; } if (workingRRheight > 3650) { numItems = 5; } for (var currIndex=0;currIndex
"; adDivString = "
" + adString + "
"; IDG.GPT.defineGoogleTagSlot(slotName ,[[320,50],[300,250],[300,50]]); } //$('#drr-container > p').first().before(adDivString); //$('#drr-top-ad').append(adDivString); $(adDivString).appendTo('#drr-top-ad'); if (DEBUG) { console.log("-----Just placed an AD currIndex = " + currIndex); } } else if (moduleCounter < articleDRRModuleList.length){ var elementId = "drr-mod-"+moduleCounter; var moduleDivString = "
"; modules.push(elementId); //$('#drr-container > p').first().before(moduleDivString); $('#drr-top-ad').append(moduleDivString); if (DEBUG) { console.log("-----Just placed a MODULE and currIndex = " + currIndex); } moduleCounter++; } } //end for loop IDG.GPT.trackOmniture(); // Add Right rail module content var placeModule = function( data ) { var placementId = $(data).attr("data-placement-id"); $( "#"+placementId ).html( data ); }; for (i=0; i" + adString + "
"; } } // end function executeDRRDesktop()

One of the big drawbacks with Sling TV, compared to a traditional cable bundle, is the lack of DVR. While many Sling channels have on-demand catalogs, you can’t always depend on them to offer programming that recently aired live.

Last week, Sling began testing a cloud DVR feature, which lets users access recorded programming from any device with the Sling TV app installed. It could be a major step forward for Sling, and an answer to rival streaming bundle PlayStation Vue, which has offered cloud DVR since its launch in 2015.

But after after spending some time with cloud DVR in Sling TV, it’s obvious why the feature launched as an invite-only beta. Right now, Sling TV’s DVR has a lot of missing features and rough edges. If Sling intends to charge for this service—which seems likely, at least in some capacity—it will need to make some improvements.

How Sling TV DVR works

The Sling TV DVR beta is currently available by invitation to subscribers who own a Roku player or smart TV. Participants get 100 hours of recording, stored indefinitely at no extra charge.

In some ways, the new recording feature works just like a regular DVR. When you select a program from the channel guide, a “record” button appears in the listing. For TV shows, you can choose whether to record just one episode, only new episodes, or every episode.

A list of recordings then appears in Sling’s main “My TV” menu. If you record a program from the beginning, you can start watching shortly after the live telecast begins and then skip through the ads. And if you start recording from the middle, you’ll end up with a partial recording.

Sling TV’s cloud DVR also has some advantages compared to a traditional DVR. There are no clear limits on simultaneous recordings, which means users don’t have to worry about scheduling conflicts. And no matter which device you use to schedule the DVR, recordings become available on any device through the Sling TV app (though again, it’s limited to Roku devices for now).

slingdvrrecordings Jared Newman

Sling TV DVR has no time limits or scheduling conflicts, but it currently caps recording time at 100 hours.

On the downside, some channels don’t support DVR, presumably because of licensing hurdles. In my testing, DVR was not available on FX, FS1, FS2, FXX, National Geographic, ESPN, ESPN2, ESPN3, Freeform, Disney Channel, Disney Junior, and Disney XD.

Beta blues

Sling’s DVR also has some bugs and interface issues to work out.

The biggest problem is that there’s no way to set up recordings through search or through the “Available Now” section of each channel where on-demand programs appear. If you can’t find a program within the chronological TV guide, you can’t record it. Sling also didn’t recognize certain shows as being part of a series, and therefore didn’t provide an option to record all future episodes.

slingdvrrecordingoptions Jared Newman

For TV series, Sling shows some extra recording options, though in this beta version they don’t always show up when they should.

Sling doesn’t have any time limits on recordings, unlike PlayStation Vue, which keeps them for only 28 days. But because Sling has storage limits, users will need to monitor their recordings or risk auto-deletion. Unfortunately, Sling doesn’t offer the kind of granularity you’d expect from a traditional DVR. When you run out of space, Sling simply deletes watched episodes first, then begins removing the oldest recordings. There’s no way to save a defined number of episodes for a particular program, and you can't protect specific recordings against deletion when you run out of space.

The other problem is that all recordings appear in one long, unorganized list, with no grouping for individual shows. It’d be nice if recordings appeared in the same streamlined menu that Sling already uses for on-demand videos.

slingondemand Jared Newman

Recordings from Sling don’t show up in a show’s on-demand menu, pictured here.

Pricing unknown

Although Sling TV DVR is currently free for beta users, the fine print notes that Sling might charge for the service in the future. If that happens, Sling says it will notify existing testers in advance, and they’ll have to opt out of the service to avoid paying. There’s no word yet on what that pricing might be, but my guess is that Sling will offer basic DVR for cheap (perhaps around $5 per month, same as most of Sling’s add-on channel packages), along with a premium option with more storage.

Not everyone will want or need to pay for DVR. If your main purpose for using Sling TV is to watch live telecasts, such as sporting events on ESPN or regional Fox Sports networks, DVR would be an unnecessary add-on.

But for movies and TV shows, DVR will be invaluable for filling the holes in Sling’s on-demand catalog. Even after just a couple days of use, I’ve amassed hours of recorded programming that would otherwise only be available through live feeds.

In a perfect world, DVR wouldn’t even be necessary for streaming bundles like Sling TV. Instead, each channel would make all of its content available on demand and ad-free, just as Netflix, HBO, and Amazon Prime Video do. Until that happens, DVR will be the best way to ensure you get your money’s worth—even if it costs a little extra.

Sign up for Jared’s Cord Cutter Weekly newsletter to get this column and other cord-cutting news, insights, and deals delivered to your inbox.

This story, "Hands-on with Sling TV DVR: A valuable work in progress" was originally published by TechHive.

To comment on this article and other PCWorld content, visit our Facebook page or our Twitter feed.
Shop Tech Products at Amazon
Notice to our Readers
We're now using social media to take your comments and feedback. Learn more about this here.
source: Pcworld
Category: review    |    5 hours ago    |    View: 103

What's the best VPN for your Mac? Here are the top recommendations based on our testing.

Category: news    |    5 hours ago    |    View: 1

Google has always prided itself on its free services. Gmail, Google Docs, and YouTube are all technically free to the public. However, that's about to change ever so slightly for European Android device makers.

Category: news    |    5 hours ago    |    View: 1

Netflix shares shot up more than 12 percent in after-hours trading on Tuesday following the release of its favorable third-quarter earnings report.

Category: news    |    6 hours ago    |    View: 9

They were led to the impromptu grave site by a GPS system they had found in stepfather Wesley Hadsell’s van. Also found in the vehicle were a dirty shovel, gloves, and duct tape. The evidence was circumstantial but was enough&hellip;

Category: news    |    7 hours ago    |    View: 5

Winamp, the standalone music player synonymous with late 90s computing, is making a comeback.

Category: news    |    8 hours ago    |    View: 56

Amazon on Tuesday introduced a reimagined version of its popular Kindle Paperwhite e-reader featuring a waterproof design and twice the storage of its predecessor.

Category: news    |    8 hours ago    |    View: 0

If you kept up on tech news during 2017, you probably remember that many outlets -- us included -- covered the "death" of net neutrality in December, when the Federal Communications Commission (FCC) led by Chairman Ajit Pai controversially voted&hellip;

Category: news    |    9 hours ago    |    View: 145

Last Saturday VG24/7 reported that a malicious PlayStation 4 messaging bug had been discovered and was “bricking consoles.” It urged users to change their privacy settings to either Friends or No One for messages until Sony could fix the problem.

Category: news    |    10 hours ago    |    View: 78

Facebook is developing a camera-equipped device under the codename Ripley that’s part webcam, part set-top box.

Category: news    |    10 hours ago    |    View: 0

We've known Discord has been gunning for Steam for several months now. The creators of the popular gaming-focused communications app announced their own in-app game storefront back in August.




Download Latest PC Softwares

Category: converters    |    Added: 18 hours ago    |    View: 15
Acme CAD Converter 2019 Free Download - downloadwise.com

Acme CAD Converter 2019 Free Download Latest Version for Windows. It is full offline installer standalone setup of Acme CAD Converter 2019.

 

Category: complex-processing    |    Added: 18 hours ago    |    View: 1
MAXQDA Analytics Pro 2018 Free Download - downloadwise.com

MAXQDA Analytics Pro 2018 Free Download Latest Version. It is full offline installer standalone setup of MAXQDA Analytics Pro 2018.

 

Category: bentley-openroads-designer-connect-edition-2018-free-download    |    Added: 18 hours ago    |    View: 1
Bentley OpenRoads Designer CONNECT Edition 2018 Free Download - downloadwise.com

Bentley OpenRoads Designer CONNECT Edition 2018 Free Download. It is full offline installer standalone setup of Bentley OpenRoads Designer.

Bentley OpenRoads Designer CONNECT Edition 2018 Free Download
OpenRoads Designer , the name of the software engineering and specialized in the field of road construction. The software is known to you as one of the most powerful software in the field. Using this software, users will be able to design advanced design concepts. The benefit of this software comes from countless capabilities, along with a plethora of tools that help you to no longer use other software and will actually need you out of any other tool.

Category: sweet-home-3d-6-free-download    |    Added: 18 hours ago    |    View: 1
Sweet Home 3D 6 Free Download - downloadwise.com

Sweet Home 3D 6 Free Download Latest Version for Windows. It is full offline installer standalone setup of Sweet Home 3D 6.

 

Category: scrivener-1-9-9-0-free-download    |    Added: 18 hours ago    |    View: 1
Scrivener 1.9.9.0 Free Download - downloadwise.com

Scrivener 1.9.9.0 Free Download Latest Version for Windows. It is full offline installer standalone setup of Scrivener 1.9.9.0.

 

Category: autoform-plus-r7-free-download    |    Added: 18 hours ago    |    View: 0
AutoForm Plus R7 Free Download - downloadwise.com

AutoForm Plus R7 Free Download Latest Version for Windows. It is full offline installer standalone setup of AutoForm Plus R7.

AutoForm Plus R7 Free Download

Category: trimble-tilos-v10-1-free-download    |    Added: 21 hours ago    |    View: 3
Trimble TILOS v10.1 Free Download - downloadwise.com

Trimble TILOS v10.1 Free Download Latest Version for Windows. It is full offline installer standalone setup of Trimble TILOS v10.1.