1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Netflix ditches Webkit/HTML5. Goes native in new UI

Discussion in 'TiVo Roamio DVRs' started by CloudAtlas, Nov 19, 2013.

  1. CloudAtlas

    CloudAtlas New Member

    134
    0
    Oct 29, 2013
    Netflix's new HTML5 based UI for TiVo might have a short lifespan! :)

    Netflix ditches Webkit to roll out slick new UI for smart TVs, Roku boxes and game consoles

    SUMMARY: Netflix is bringing a completely revamped UI to smart TVs and connected devices – and it moved away from Webkit and HTML5 to bring the same features to less powerful devices.

    [​IMG]
    The new native UI showed up on my Roku 3 last night and not only looks amazing but is now feature-parity with my PS3 (profiles and autoplay).
    http://gigaom.com/2013/11/12/netfli...i-for-smart-tvs-roku-boxes-and-game-consoles/
     
  2. Philmatic

    Philmatic Member

    524
    0
    Sep 17, 2003
    That's irrelevant to the Roamio's, they use an embedded version of Opera to launch the Netflix HTML5 interface. That is still the case with the new Netflix interface.
     
  3. CloudAtlas

    CloudAtlas New Member

    134
    0
    Oct 29, 2013
    But Netflix no longer develops their app in HTML5! They built their own native layer for every platform they support.

    So the "new" Netflix HTML5 UI on Roamio is actually the old platform. The new platform, as the article points out, has been in development for over a year and a half.
     
  4. ustavio

    ustavio New Member

    192
    0
    Oct 19, 2013
    Well, maybe this explains some of the reboots, vanishing profiles, and other mayhem. Netflix is pumping out one thing and Tivo is catching it with another. Could it be that Tivo and Netflix are flowing in different directions and we're just flailing around in the cross current?
     
  5. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    37,526
    183
    Apr 17, 2000
    Nevada
    This seems to contradict Netflix's own blog on the subject...

    http://techblog.netflix.com

    They specifically mention that the UI is Javascript based although at the end they also mention something about a new rendering engine that allows them to support more hardware constrained devices and well as provide more dynamic animation on consoles. So maybe they are ditching WebKit in favor of a rendering engine with some proprietary stuff that allows them to do other things? But it sounds like the base UI is still HTML5/Javascript, so as long as that part runs in TiVo's Opera browser it should continue to work just fine.

    Honestly it's hard to tell exactly what's going on from that blog post, I think we might need to wait for them to post more details before drawing any conclusions.
     
  6. moyekj

    moyekj Well-Known Member

    11,150
    33
    Jan 23, 2006
    Mission...
    From the tech blog fundamentally javascript is still being used by the sound of it, so while it may not necessarily be html5 based it must be at least html + javascript and hence can run on the TiVo 20.3.7 software internal opera browser, and probably quicker than Flash on the series 4 units.
     
  7. rainwater

    rainwater Active Member

    7,057
    1
    Sep 21, 2004
    There's a bit of confusion here. What Netflix did is write their own development kit that works across platforms. So they can now share code bases on platforms that don't allow HTML5. They are certainly not ditching HTML5 as that is the language still used by most of their clients.
     
  8. CloudAtlas

    CloudAtlas New Member

    134
    0
    Oct 29, 2013
    I think the article clearly explains that Netflix is going from HTML5 rendered UI using Webkit (embedded or standalone Opera) to a *native* platform that runs on *all* chipsets Netflix supports so it's under their control. So the UI is rendered using API calls. As is explained below going native allows them to be able to handle voice recognition on all platforms. How would Opera handle that?

    Native is what makes Apple iOS apps snappy even on a slow iPad 2.

    Basically they are creating a runtime native executable instead of a webapp using html/javascript files that need to be interpreted via Webkit or Blink based runtimes. It's actually a very impressive feat by Netflix.

     
  9. shoeboo

    shoeboo Member

    66
    1
    Nov 27, 2006
    Safety...
    I think I am missing the point of this thread. I already have the new updated interface that is shown in the first post on my Roamio, is this what you are worried about not getting?
     
  10. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    37,526
    183
    Apr 17, 2000
    Nevada
    Like I said it's a bit confusing. They specifically mention using Javascript for the new UI, but they're a bit unclear when they mention HTML/CSS. Maybe they are drawing the UI directly, and just using the HTML5 canvas element on platforms that don't allow native code?
     
  11. Philmatic

    Philmatic Member

    524
    0
    Sep 17, 2003
    There are two "pieces" to every deployment of Netflix. The Client application (SDK), and the Webservices/HTML5 (UI).

    To support their new HTML5 interface on older platforms without a web browser, Netflix had to include a stripped-down version of the Webkit browser as part of their SDK, then have it open the HTML 5 interface. On newer platforms, this isn't an issue as there is plenty of resources on higher end platforms like the PS3. On older platforms however, launching WebKit would take away from the very finite resources on the device, which would cause the experience to be sluggish.

    To get around having to ship WebKit, they are simply switching to a custom rendering engine that doesn't require the overhead of having WebKit instantiated. Since they don't need support for flowable layouts and other browser specific requirements, they wrote their own engine that is efficient on low powered devices.

    On the Roamio, they don't need to include a copy of WebKit since Opera is already available. So Netflix uses the embedded Opera engine to load the HTML5 interface. Done and done.
     
  12. SlappyMcgee

    SlappyMcgee New Member

    46
    0
    Aug 27, 2013
    I hope the update this app or do something so it doesn't cut off the end of shows. Example when watching American Dad, most of the eps have extra content while the credits are rolling. With the new netflix app it cuts off part of the ending to start the next ep.
     
  13. AdamNJ

    AdamNJ New Member

    387
    0
    Aug 22, 2013
    Dunellen, NJ
    i believe it u press a button it stops the automatic jump to the next episode...i remember there is a countdown of like 20 seconds
     
  14. anthonymoody

    anthonymoody New Member

    199
    0
    Apr 29, 2008
    I've gone back to my PS3 for now as it still offers the profile choice whereas I'm not seeing that on the Roamio, despite the fact that it otherwise has the new UI. Weird.
     
  15. MikeAndrews

    MikeAndrews Registered abuser

    14,222
    1
    Jan 17, 2002
    Northern...
    WTF do they require Silverlight on Mac OS X?

    "Please go to /library/internet and put Silverlight in the trash. Then reinstall one the 3 versions you reloaded."

    I'm tempted to cancel NetFlix. I can do fine with Amazon Prime Instant.
     
  16. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    37,526
    183
    Apr 17, 2000
    Nevada
    They're in the process of moving away from Silverlight right now. Last I heard they were waiting for browsers to support the WebCrypto standard of HTML5 before they can make the transition. (they need encryption to appease their content partners)
     
  17. CloudAtlas

    CloudAtlas New Member

    134
    0
    Oct 29, 2013
    Netflix posted the tech follow-up on their new Netflix TV app and while it utilizes JavaScript they are not using HTML5 nor does it look like they are using HTML tags at all.


    Monday, December 16, 2013
    http://techblog.netflix.com/2013/12/pioneering-application-design-on-tvs-tv.html

    Pioneering application design on TVs & TV-connected devices
    Netflix recently launched the latest evolution of our core app for an increasing number of TVs and TV-connected devices. The app represents a unique mixture of platform and user interface design innovations. One of these innovations is that this app leverages both web standard technologies we love (like JavaScript) and a lightweight native graphics framework.

    Understanding the motivations for our most recent platform advancement requires some context. In the past we’ve explored many different approaches. In 2009 we implemented a Flash Lite based app. Soon after, in 2010, we shifted to a WebKit based app using predominantly the QtWebKit port. Each app eventually reached a critical point where our innovation goals required us to adapt our technology stack.

    Evolution of an application platform

    We’ve seen WebKit mature into a full-fledged platform for application development. Advances in HTML5 and CSS3 introduced much needed semantics and styling improvements. JavaScript can utilize WebGL backed canvases, drag and drop, geolocation, and more. Increasingly WebKit will have hooks into device services allowing integration with hardware and data outside the browser sandbox. Improvements in mobile device capabilities have made many of these and future advances desirable.

    We released our first QtWebKit app in 2010. Over the next 3 years our engineers shared our innovations and approaches with the WebKit community. Our platform engineers contributed our accelerated compositing implementation. Meanwhile our user interface engineers shared best practices and identified rendering optimizations deep in WebCore internals. In addition, we continue to drive standardization efforts for HTML5 Premium Video Extensions and have adopted them for desktop.

    Devices running our core app on TVs and TV-connected devices subject WebKit to unique use cases. We deliver a long-lived, single-page, image and video heavy user interface on hardware with a range of CPU speed and addressable RAM, and varied rendering and network pipelines. The gamut of devices is considerable with significant variations in functionality and performance.

    Our technology stack innovation

    We strive to provide customers with rich, innovative content discovery and playback experiences. All devices running the new Netflix TV app are now running our own custom JS+native graphics framework. This framework enables us to reach our customer experience goals on the broadest set of TVs and TV-connected devices. We own the feature roadmap and tooling and can innovate with minimal constraints.

    Our framework is optimized for fast 2D rendering of images, text and color fills. We render from a tree of graphics objects. The approach offers ease of use over immediate mode rendering contexts such as HTML canvas. Display property changes in these objects are aggregated then applied en masse post user interaction.

    A bespoke rendering pipeline enables granular control over surfaces, the bitmap data representation of one or more graphics objects. Our surfaces are similar to accelerated compositing surfaces used by modern browsers. Intelligent surface allocation reduces surface (re)creation costs and the resulting memory fragmentation over time. Additionally we have fine-grained control of image decode activity leading up to surface creation.

    As the platform matured it gained a pluggable cinematic effect pipeline with blur, desaturation, masking and tinting. These effects can be implemented very close to the metal, keeping them fast on more devices.

    While we’re not running full WebKit, we are heavily leveraging JavaScriptCore. We experimented with V8 and SpiderMonkey (with JIT), yet both were impractical without stable ports for the various chipset architectures in use by device manufacturers.

    We also rely on WebKit’s Web Inspector for debugging. Our framework integrates directly with a standalone Node server (and ultimately the Web Inspector) using the public remote debugging protocol. The Elements tab displays a tree of graphics objects. The Sources, Network and Timeline tabs work mostly like you’d expect. Familiar tools help while we debug the app running on a reference framework implementation or development devices.

    An A/B test of our app written in this new framework performed better than our existing app. Our future is ours to define and we’re not done having fun.
     
  18. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    37,526
    183
    Apr 17, 2000
    Nevada
    So they've transitioned to a framework which requires native graphics hooks? That seems like a step backwards in compatibility. While it may give them better performance they're now going to have to maintain that graphics framework for multiple devices. HTML5 may not be as fast but at least you can create one app that will run on any device with an HTML5 rendering engine.

    This could explain why people are having reboot problems with Netflix. If they are tapping directly into the GPU then it's probably pulling them outside the sandbox and allowing a crash in their code to bring down the whole machine.

    I'm actually surprised the device people, including TiVo, are OK with this. They run sandboxes for a reason. Specifically so a single app crash wont bring down the whole machine.
     
  19. Philmatic

    Philmatic Member

    524
    0
    Sep 17, 2003
    Wow, I stand corrected. Seems like they made one step forward by going to HTML5 and half a step back by maintaining all these private hooks.

    Something seems to be working though, they were able to roll out the new interface to most devices they support, all within a few weeks, that's impressive.
     
  20. Davelnlr_

    Davelnlr_ Member

    523
    0
    Jan 12, 2011
    North...
    It wont be impressive if everyones box starts rebooting after an hour of watching Netflix... Sounds like there was a lack of beta testing if they got it out the door this quick.
     

Share This Page