SlideShare a Scribd company logo
1 of 105
Download to read offline
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   1/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 HTML5 at YouTube: Stories from
                 the Front Line
                 Greg Schechter - Web Warrior, Facebook


              #HTML5Video                                                                                2/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                           2/105
4/16/13                                                    HTML5 at YouTube: Stories from the Front Line




                                                          Greg Schechter
                                                         The Web Warrior




                                                           schechter@fb.com




              #HTML5Video                                                                                  3/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                             3/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 What are conferences all
                 about?




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   4/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   5/105
4/16/13                                                   HTML5 at YouTube: Stories from the Front Line




          I R one C00LZ Kat




          http://www.flickr.com/photos/scjn/4564274827/




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                    6/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Last year's coolness




              #HTML5Video                                                                                7/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                           7/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          This year's awesome hardware




              #HTML5Video                                                                                8/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                           8/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Put them together




              #HTML5Video                                                                                9/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                           9/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Put them together




              #HTML5Video                                                                                10/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            10/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 Is the coolness ready to use?




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   11/105
4/16/13                                                       HTML5 at YouTube: Stories from the Front Line




          I's ready for battlez




          http://www.flickr.com/photos/mycoolpics/92033686/




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                        12/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          http://www.w3.org/html/logo/




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   13/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                    Graphics                    Connectivity                 CSS3 Styling                Device Access



                                                  Offline and              Performance
                 Multimedia                        Storage                and Integration                 Semantics




              #HTML5Video                                                                                                14/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                                            14/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 Who can use this stuff?




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   15/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 Depends on your users




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   16/105
4/16/13                                                     HTML5 at YouTube: Stories from the Front Line




          What users I prioritize development for




                                                                       Chrome



                                             Firefox                                                   IE




                                                         Safari                            Opera




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                      17/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 Why HTML5?




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   18/105
4/16/13                                                    HTML5 at YouTube: Stories from the Front Line




                                                         CSS3 Styling




          http://www.flickr.com/photos/dannykboyd/5048495262/




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                     19/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Rounded Corners
          <tl>
           sye                                                                                           CS
                                                                                                          S
           .oeo {
            smbx
             bre-ais 3x
              odrrdu: p;
           }
          <sye
           /tl>



          With awesomeness




          Without awesomeness




              #HTML5Video                                                                                20/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            20/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Transitions
          <tl>
           sye                                                                                           CS
                                                                                                          S
           .oeo {
            smbx
             -ekttasto:hih 1,oaiy1 1;
              wbi-rniin egt s pct s s
             -o-rniin hih 1,oaiy1 1;
              mztasto: egt s pct s s
             -stasto:hih 1,oaiy1 1;
              m-rniin egt s pct s s
             --rniin hih 1,oaiy1 1;
              otasto: egt s pct s s
             tasto:hih 1 oaiy1 1;
              rniin egt , pct s s
           }
          <sye
           /tl>



          With Awesomeness                               Without Awesomeness
          Awesome Information                            Awesome Information




              #HTML5Video                                                                                21/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            21/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          What CSS3 gets us
          · Enhance the user experience
          · Less code
          · Faster preformance
          · Less wasted development time and less hacks
          · The experience without it is still good




              #HTML5Video                                                                                22/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            22/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 Why HTML5?




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   23/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 When HTML5?




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   24/105
4/16/13                                                     HTML5 at YouTube: Stories from the Front Line




          Who can use the css3 coolness.




                                                                       Chrome



                                             Firefox                                                   IE




                                                         Safari                            Opera




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                      25/105
4/16/13                                                    HTML5 at YouTube: Stories from the Front Line




                                                 Performance &
                                                   Integration




          http://www.flickr.com/photos/dannykboyd/5048495262/




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                     26/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 Let's talk Uploads




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   27/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   28/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          XHR Uploads
          <cit
           srp>                                                                                          JVSRP
                                                                                                          AACIT
            fnto ula(lbrie {
            ucin podboOFl)
             vrxr=nwXLtpeus(;
              a h   e MHtRqet)
             xroe(PS' 'sre' tu)
              h.pn'OT, /evr, re;
             xrola =fnto(){..}
              h.nod   ucine  . ;

               / Lse t teula pors.
                / itn o h pod rges
               vrporsBr=dcmn.urSlco(pors';
                a rgesa    ouetqeyeetr'rges)
               xrula.nrges=fnto(){
                h.podopors    ucine
                 i (.eghoptbe {
                  f elntCmual)
                   porsBrvle=(.odd/ettl *10
                   rgesa.au   elae  .oa)  0;
                   porsBrtxCnet=porsBrvle / Flbc fruspotdbosr.
                   rgesa.etotn   rgesa.au; / alak o nupre rwes
                 }
               };

               xrsn(lbrie;
                h.edboOFl)
           }

          <srp>
           /cit




               #HTML5Video                                                                                   29/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                                29/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          XHR Uploads

          Oldness
          Upload progress




          Newness
          Upload progress




              #HTML5Video                                                                                30/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            30/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Why is XHR Uploads an improvement
          · Richer user experience with progress updates
          · Multiple file uploads
          · Resumable uploads
          · No plugin required for advanced features




              #HTML5Video                                                                                31/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            31/105
4/16/13                                                     HTML5 at YouTube: Stories from the Front Line




          Who can use the XHR upload coolness.




                                                                       Chrome



                                             Firefox                                                   IE




                                                         Safari                            Opera




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                      32/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Time to up the coolness




          http://www.flickr.com/photos/tjc/4320473610/




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   33/105
4/16/13                                                    HTML5 at YouTube: Stories from the Front Line




                                                         Multimedia




          http://www.flickr.com/photos/dannykboyd/5048495262/




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                     34/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                                                                   video




              #HTML5Video                                                                                35/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            35/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          <video> expectations
          · Open source technology
                 - Browser / Player / Codec
          · Lower latency
              - No plug-in instantiation
          · Better performance and fidelity
          · Accessibility
          · Power Consumption*




              #HTML5Video                                                                                36/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            36/105
4/16/13                                                     HTML5 at YouTube: Stories from the Front Line




          HTML5 Video Capable Browsers




                                                                       Chrome



                                             Firefox                                                   IE




                                                         Safari                            Opera




              #HTML5Video                                                                                   37/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                               37/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Flash Support vs. HTML5 Support




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   38/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          YouTube Data API Usage for Flash vs. HTML5
          Devices




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   39/105
4/16/13                                                   HTML5 at YouTube: Stories from the Front Line




          Let's talk mobile




          http://www.flickr.com/photos/indi/2579412663/




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                    40/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 Why is Mobile Important




              #HTML5Video                                                                                41/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            41/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                         Playback Stats




                       6,000                                                                                       Mobile
                                                                                                                   Desktop
Playback in Millions




                       4,500


                       3,000


                       1,500


                          0
                           2010                                 2011                                        2012
                                                                Year




                               #HTML5Video                                                                                   42/105


       gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                                         42/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




              #HTML5Video                                                                                43/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            43/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




              #HTML5Video                                                                                44/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            44/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




              #HTML5Video                                                                                45/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            45/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




              #HTML5Video                                                                                46/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            46/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Native
          · For fallbacks, use rtsp:// protocol (serving .3gp) if the device won't support
            HTML5
          · Use custom protocol / URL scheme to launch the native app (on Android / BB:
            vdyuuevdoi)
             n.otb:ie_d
          · iOS special-cases the YouTube Flash embed code




              #HTML5Video                                                                                47/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            47/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




              #HTML5Video                                                                                48/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            48/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          The Different Browsers




              #HTML5Video                                                                                49/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            49/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          The Different Browsers




              #HTML5Video                                                                                50/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            50/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          The Different Browsers




              #HTML5Video                                                                                51/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            51/105
4/16/13                                                      HTML5 at YouTube: Stories from the Front Line




          http://www.flickr.com/photos/brownpau/533267369/


               #HTML5Video                                                                                   52/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                                52/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          How do we start?




                                                                <video>




              #HTML5Video                                                                                53/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            53/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          The Source




                                    <video src="funny_cat_video">




              #HTML5Video                                                                                54/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            54/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          The Source




            <video src="funny_cat_video.webm/mp4/ogg">




              #HTML5Video                                                                                55/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            55/105
4/16/13                                                    HTML5 at YouTube: Stories from the Front Line




          Mobile Formats Support




                          Chrome                  Safari        Firefox                    Opera           IE   Android


          H264                                                  Android 4.1+


          WebM            Android 4+                                                       Android 4+           Android 4+


          HLS                                                                                                   Android 3+




              #HTML5Video                                                                                                    56/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                                                56/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Platform Versions and Distribution




              #HTML5Video                                                                                57/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            57/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          The Source
                  <ie>
                  vdo                                                                                    HM
                                                                                                          TL
                   <oresc"un_a_ie. p "
                    suc r=fnyctvdom 4 >
                   <oresc"un_a_ie. e m >
                    suc r=fnyctvdow b "
                  <vdo
                  /ie>




              #HTML5Video                                                                                 58/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                             58/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Power




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   59/105
4/16/13                                                         HTML5 at YouTube: Stories from the Front Line




          Playback Stats




                                                                                            Software
               idle                                                                         Hardware


            webm


              h264


              flash




                      700       800           900         1,000        1,100

                                      Mean current draw (milliamps)




          Research done by Yossi Oren For more information visit http://iss.oy.ne.ro/


               #HTML5Video                                                                                      60/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                                   60/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Stick it in the page




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   61/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Let's add a poster attribute and some click
          handlers




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   62/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Video Poster

          Very different behavior in different browsers
          · Stretch poster image to < i e >element size, or fit proportionally
                                     vdo
          · May replace poster image with a paused frame from the video
          · May overlay a play icon that is different for each platform




              #HTML5Video                                                                                63/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            63/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Video Poster Pro Tips

          Protips for a consistent look:
          · Render your own cued state: < m >for the poster, play icon
                                         ig
          · Replace with the < i e >when it's time to play
                              vdo
          · Set the background color to black for continuity across platforms




              #HTML5Video                                                                                64/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            64/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          How do videos play back?

          1. Inline in the page
          · iPad
          · Android 4.0 and up
          · Chrome

          2. Always fullscreen, no matter what
          · iPhone, iPod
          · Android 2.2 - 3.0
          · Windows Phone




              #HTML5Video                                                                                65/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            65/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Fullscreen-only <video>

          Video element can be stuck anywhere on the page
          · 1x1 pixels, or offscreen
          · but: has to be in the DOM, can't be visibility:hidden or display:none
          · just call play() to go fullscreen
          · iPhone: zoom-in animation from <video>'s position

          On webkit, good interaction with your webapp
          · Video events still fire: timeupdate, ended etc.
          · Free to change web page in the background
          · webkitbeginfullscreen, webkitendfullscreen events




              #HTML5Video                                                                                66/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            66/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Fullscreen-only <video> caveats

          Native controls only
          No overlays or custom UI

          Can't do captions etc.




              #HTML5Video                                                                                67/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            67/105
4/16/13                                                   HTML5 at YouTube: Stories from the Front Line




          Controls




                                                         <video controls>




              #HTML5Video                                                                                 68/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                             68/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Controls




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   69/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Native Controls Support




                                Chrome      Safari                   Firefox            Opera            IE           Android


          Play/pause
          Button


          Volume                                                     Mute toggle        Don't work in
          Controls                          Only in Fullscreen       only               Android 4


          Seek bar


          Fullscreen            Button      Button and gesture                                                        Button


                                            Fullscreen only on                          Determined by    Fullscreen
          Playback Type         Both        phones                   Inline only        hardware         only         Both




              #HTML5Video                                                                                                70/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                                            70/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Custom Controls
          · Preserve your brand
          · Unified experience across platforms and browsers




              #HTML5Video                                                                                71/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            71/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Custom Controls




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   72/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Custom Controls
          · Preserve your brand
          · Unified experience across platforms and browsers

          · Allows us to expand the set of controls and add our own
              - Annotations
              - Playlist
                 - Captions
                 - More




              #HTML5Video                                                                                73/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            73/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Custom Controls Pro Tips
          · User expect to be able to drag the progress bar
              - Need to remender to prevent scroll on touchstart
          · Volume can't be set everywhere and users are accustomed to using device
            controls
              - So don't build controls for it
          · Fingers are fat
              - Average finger is 11mm so make targets at least 40px with 10px padding
              - Use SVG's so icons can be scaled and shared with desktop application
          · Don't trigger content with hover
          · Fullscreen
                 - The browsing context is always fullscreen so fake it




              #HTML5Video                                                                                74/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            74/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                                                            Fullscreen




              #HTML5Video                                                                                75/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            75/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                                                     requestFullscreen




              #HTML5Video                                                                                76/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            76/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                                                  What about Mobile?




              #HTML5Video                                                                                77/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            77/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                                           Isn't it already fullscreen?




              #HTML5Video                                                                                78/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            78/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                                                          Yes (sort of)




              #HTML5Video                                                                                79/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            79/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Mobile Fullscreen
          · Open New Tab
          · Remember size context changes so use viewport to scale icons and controls
              - @viewport { width: device-width; }
          · webkitEnterFullscreen
             - Webkit only
             - Just the video element
                 - Native controls only
                 - metadata must be loaded
                 - Only in click event




              #HTML5Video                                                                                80/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            80/105
4/16/13                                                   HTML5 at YouTube: Stories from the Front Line




          Autoplay




                                                         <video autoplay>




              #HTML5Video                                                                                 81/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                             81/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Autoplay




              #HTML5Video                                                                                82/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            82/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Autoplay
          · Doesn't work! Restriction: need user action.
          · Why?
             - On a cell network - users charged for data
             - Slow downloads, let the user decide
          · Where?
             - Safari on iOS (iPad included, even on WIFI)
             - Android Browser (4.0+)
                 - Chrome on Android




              #HTML5Video                                                                                83/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            83/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Autoplay




                                        What about everyone else?




              #HTML5Video                                                                                84/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            84/105
4/16/13                                                      HTML5 at YouTube: Stories from the Front Line




          Autoplay Support




                                Chrome              Safari          Firefox           Opera           IE     Android


          Attribute


          Scripted                                                                                           Buggy, going away




              #HTML5Video                                                                                                        85/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                                                    85/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Autoplay




              #HTML5Video                                                                                86/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            86/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Autoplay




                                       <video onclick="this.play()">




              #HTML5Video                                                                                87/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            87/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Autoplay




              #HTML5Video                                                                                88/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            88/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Autoplay




              #HTML5Video                                                                                89/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            89/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Autoplay
          <cit
           srp>                                     JVSRP
                                                    AACIT
           fnto smCikvn(v){
            ucin oelcEetet
             / I aue iiitdtra.
              / n sr ntae hed
             mVdolmn.od) / Mgcicnaint eal pa( ltro!
              yieEeetla(; / ai natto o nbe ly) ae n
             gtieDt(;/ Tigr a aa cl.
              eVdoaa) / rges n jx al
           }

           fnto oGtieDtRtre(aa {
            ucin neVdoaaeunddt)
             / Nti aue iiitdtra.
              / o n  sr ntae hed
             stieEeetr(aa;
              eVdolmnScdt)
             mVdolmn.od)
              yieEeetla(;
             mVdolmn.ly)
              yieEeetpa(;
           }
          <srp>
           /cit




              #HTML5Video                                                                                90/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            90/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Autoplay
          <cit
           srp>                                     JVSRP
                                                    AACIT
           fnto smCikvn(v){
            ucin oelcEetet
             / I aue iiitdtra.
              / n sr ntae hed
             mVdolmn.od) / Mgcicnaint eal pa( ltro!
              yieEeetla(; / ai natto o nbe ly) ae n
             gtieDt(;/ Tigr a aa cl.
              eVdoaa) / rges n jx al
           }

           fnto oGtieDtRtre(aa {
            ucin neVdoaaeunddt)
             / Nti aue iiitdtra.
              / o n  sr ntae hed
             stieEeetr(aa;
              eVdolmnScdt)
             mVdolmn.od)
              yieEeetla(;
             / FrAdod
              / o nri
             wno.eTmotfnto( {
              idwstieu(ucin)
               mVdolmn.ly)
                yieEeetpa(;
             } 0;
              , )
           }
          <srp>
           /cit




              #HTML5Video                                                                                91/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            91/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 Embeds in an HTML5 world




              #HTML5Video                                                                                92/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            92/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Embeds
          · <script>
              - We need our content to be sandboxed
              - More than just a video tag
          · <object>
              - Can load content with the data attribute
              - But no way to interact with it via JavaScript
          · <iframe>
              - Allows our content to be sandboxed
                 - JavaScript API communication




              #HTML5Video                                                                                93/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            93/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Embeds
          <faetp=tx/tl
           irm ye"ethm"                                                                                  HM
                                                                                                          TL
           wdh"4"
            it=60
           hih=35
            egt"8"
           faeodr""
            rmbre=0
           sc"tp/wwyuuecmebdVDOI"
            r=ht:/w.otb.o/me/IE_D
           alwulcen
            loflsre>
          <irm>
           /fae



          · Plan for the future (if you can)




              #HTML5Video                                                                                 94/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                             94/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Iframe Pro Tips
          hm {
           tl                                                                                            CS
                                                                                                          S
            /*Hc t fxihn rszn.*
             * ak o i Poe eiig /
            oefo:hde;
             vrlw idn
          }



          bd {
           oy                                                                                            CS
                                                                                                          S
            /*DmncRszn */
             * yai eiig *
            bcgon-oo:#0;
             akrudclr 00
            hih:10;
             egt 0%
            wdh 10;
             it: 0%
            /*Rmv hglgtwe uecik */
             * eoe ihih hn s lcs *
            -ekttphglgtclr rb(,0 0 0;
             wbi-a-ihih-oo: ga0 , , )
          }




              #HTML5Video                                                                                95/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            95/105
4/16/13                                                    HTML5 at YouTube: Stories from the Front Line




                                         Offline and Storage




          http://www.flickr.com/photos/dannykboyd/5048495262/




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                     96/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Appcache
          · Offline mode for a video streaming site - useless?
          · More that just offline access: saves on latency every visit
          · Pay for code size twice: download + parse time
          · Saves the download time




              #HTML5Video                                                                                97/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                            97/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Appcache
                     <tlmnfs=mnfs_r"
                      hm aiet"aietul>                                                                    HM
                                                                                                          TL
                       <citsc"citj"/
                        srp r=srp.s >
                       <ikrl"tlset he=syecs /
                        ln e=syehe" rf"tl.s" >
                     <hm>
                      /tl



                     CCEMNFS
                      AH AIET                                                                            HM
                                                                                                          TL


                     CCE
                      AH:
                     srp.s
                      citj
                     syecs
                      tl.s

                     NTOK
                      EWR:
                     fl_oawy_odjg
                      iet_lasla.p




              #HTML5Video                                                                                 98/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                             98/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Appcache - How to force an update?
                     CCEMNFS
                      AH AIET                                                                              HM
                                                                                                            TL
                     CCE
                      AH:
                     foj
                      o.s

                     #Biddt:2102
                       ul ae 0268



                     / Rno AA rsos
                      / adm JX epne                                                                      JVSRP
                                                                                                         AACIT
                     {"aa:..
                        dt" .,
                       "ulDt" 2102 }
                        bidae: 0268



                     v r s r p B i d a e = 2 1 0 2 ; / A t - e e a e d r n b i d o pJ V S R P
                      a citulDt             0 2 6 1 / u o g n r t d u i g u l r uA A C I T
                                                                                    sh
                     i (oeepnebidae>srpBidae {
                      f smRsos.ulDt                citulDt)
                       wno.plctoCceudt(;
                        idwapiainah.pae)
                     }




              #HTML5Video                                                                                   99/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                               99/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




          Appcache gotchas
          · GET parameters on cached resources bypass the cache
          · Strict implementations (eg. iOS5) refuse to download files not in the manifest
                 · since YouTube streams from many domains, we just put
                        NTOK *
                        EWR:


          · Can get wrong in a scary way
                · Users stuck on old code
                · Create multiple copies of the entire site in the cache
          · Easy to break master URL
                · some redirects to an appcached site: 303 or history.replaceState
               · history.pushState before background download completes
          · Some implementations are buggy




              #HTML5Video                                                                                100/105


gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                             100/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 So is the coolness ready?




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   101/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 Yes
                 And not only do your users want it, they need it




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   102/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




                 <Thank You!>




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   103/105
4/16/13                                                        HTML5 at YouTube: Stories from the Front Line




          can haz question?




          http://www.flickr.com/photos/cloudzilla/378829651/




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                         104/105
4/16/13                                                  HTML5 at YouTube: Stories from the Front Line




gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1                                                   105/105

More Related Content

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Html5 at YouTube: Stories from the Front Line

  • 1. 4/16/13 HTML5 at YouTube: Stories from the Front Line gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 1/105
  • 2. 4/16/13 HTML5 at YouTube: Stories from the Front Line HTML5 at YouTube: Stories from the Front Line Greg Schechter - Web Warrior, Facebook #HTML5Video 2/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 2/105
  • 3. 4/16/13 HTML5 at YouTube: Stories from the Front Line Greg Schechter The Web Warrior schechter@fb.com #HTML5Video 3/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 3/105
  • 4. 4/16/13 HTML5 at YouTube: Stories from the Front Line What are conferences all about? gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 4/105
  • 5. 4/16/13 HTML5 at YouTube: Stories from the Front Line gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 5/105
  • 6. 4/16/13 HTML5 at YouTube: Stories from the Front Line I R one C00LZ Kat http://www.flickr.com/photos/scjn/4564274827/ gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 6/105
  • 7. 4/16/13 HTML5 at YouTube: Stories from the Front Line Last year's coolness #HTML5Video 7/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 7/105
  • 8. 4/16/13 HTML5 at YouTube: Stories from the Front Line This year's awesome hardware #HTML5Video 8/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 8/105
  • 9. 4/16/13 HTML5 at YouTube: Stories from the Front Line Put them together #HTML5Video 9/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 9/105
  • 10. 4/16/13 HTML5 at YouTube: Stories from the Front Line Put them together #HTML5Video 10/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 10/105
  • 11. 4/16/13 HTML5 at YouTube: Stories from the Front Line Is the coolness ready to use? gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 11/105
  • 12. 4/16/13 HTML5 at YouTube: Stories from the Front Line I's ready for battlez http://www.flickr.com/photos/mycoolpics/92033686/ gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 12/105
  • 13. 4/16/13 HTML5 at YouTube: Stories from the Front Line http://www.w3.org/html/logo/ gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 13/105
  • 14. 4/16/13 HTML5 at YouTube: Stories from the Front Line Graphics Connectivity CSS3 Styling Device Access Offline and Performance Multimedia Storage and Integration Semantics #HTML5Video 14/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 14/105
  • 15. 4/16/13 HTML5 at YouTube: Stories from the Front Line Who can use this stuff? gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 15/105
  • 16. 4/16/13 HTML5 at YouTube: Stories from the Front Line Depends on your users gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 16/105
  • 17. 4/16/13 HTML5 at YouTube: Stories from the Front Line What users I prioritize development for Chrome Firefox IE Safari Opera gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 17/105
  • 18. 4/16/13 HTML5 at YouTube: Stories from the Front Line Why HTML5? gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 18/105
  • 19. 4/16/13 HTML5 at YouTube: Stories from the Front Line CSS3 Styling http://www.flickr.com/photos/dannykboyd/5048495262/ gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 19/105
  • 20. 4/16/13 HTML5 at YouTube: Stories from the Front Line Rounded Corners <tl> sye CS S .oeo { smbx bre-ais 3x odrrdu: p; } <sye /tl> With awesomeness Without awesomeness #HTML5Video 20/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 20/105
  • 21. 4/16/13 HTML5 at YouTube: Stories from the Front Line Transitions <tl> sye CS S .oeo { smbx -ekttasto:hih 1,oaiy1 1; wbi-rniin egt s pct s s -o-rniin hih 1,oaiy1 1; mztasto: egt s pct s s -stasto:hih 1,oaiy1 1; m-rniin egt s pct s s --rniin hih 1,oaiy1 1; otasto: egt s pct s s tasto:hih 1 oaiy1 1; rniin egt , pct s s } <sye /tl> With Awesomeness Without Awesomeness Awesome Information Awesome Information #HTML5Video 21/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 21/105
  • 22. 4/16/13 HTML5 at YouTube: Stories from the Front Line What CSS3 gets us · Enhance the user experience · Less code · Faster preformance · Less wasted development time and less hacks · The experience without it is still good #HTML5Video 22/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 22/105
  • 23. 4/16/13 HTML5 at YouTube: Stories from the Front Line Why HTML5? gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 23/105
  • 24. 4/16/13 HTML5 at YouTube: Stories from the Front Line When HTML5? gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 24/105
  • 25. 4/16/13 HTML5 at YouTube: Stories from the Front Line Who can use the css3 coolness. Chrome Firefox IE Safari Opera gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 25/105
  • 26. 4/16/13 HTML5 at YouTube: Stories from the Front Line Performance & Integration http://www.flickr.com/photos/dannykboyd/5048495262/ gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 26/105
  • 27. 4/16/13 HTML5 at YouTube: Stories from the Front Line Let's talk Uploads gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 27/105
  • 28. 4/16/13 HTML5 at YouTube: Stories from the Front Line gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 28/105
  • 29. 4/16/13 HTML5 at YouTube: Stories from the Front Line XHR Uploads <cit srp> JVSRP AACIT fnto ula(lbrie { ucin podboOFl) vrxr=nwXLtpeus(; a h e MHtRqet) xroe(PS' 'sre' tu) h.pn'OT, /evr, re; xrola =fnto(){..} h.nod ucine . ; / Lse t teula pors. / itn o h pod rges vrporsBr=dcmn.urSlco(pors'; a rgesa ouetqeyeetr'rges) xrula.nrges=fnto(){ h.podopors ucine i (.eghoptbe { f elntCmual) porsBrvle=(.odd/ettl *10 rgesa.au elae .oa) 0; porsBrtxCnet=porsBrvle / Flbc fruspotdbosr. rgesa.etotn rgesa.au; / alak o nupre rwes } }; xrsn(lbrie; h.edboOFl) } <srp> /cit #HTML5Video 29/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 29/105
  • 30. 4/16/13 HTML5 at YouTube: Stories from the Front Line XHR Uploads Oldness Upload progress Newness Upload progress #HTML5Video 30/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 30/105
  • 31. 4/16/13 HTML5 at YouTube: Stories from the Front Line Why is XHR Uploads an improvement · Richer user experience with progress updates · Multiple file uploads · Resumable uploads · No plugin required for advanced features #HTML5Video 31/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 31/105
  • 32. 4/16/13 HTML5 at YouTube: Stories from the Front Line Who can use the XHR upload coolness. Chrome Firefox IE Safari Opera gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 32/105
  • 33. 4/16/13 HTML5 at YouTube: Stories from the Front Line Time to up the coolness http://www.flickr.com/photos/tjc/4320473610/ gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 33/105
  • 34. 4/16/13 HTML5 at YouTube: Stories from the Front Line Multimedia http://www.flickr.com/photos/dannykboyd/5048495262/ gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 34/105
  • 35. 4/16/13 HTML5 at YouTube: Stories from the Front Line video #HTML5Video 35/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 35/105
  • 36. 4/16/13 HTML5 at YouTube: Stories from the Front Line <video> expectations · Open source technology - Browser / Player / Codec · Lower latency - No plug-in instantiation · Better performance and fidelity · Accessibility · Power Consumption* #HTML5Video 36/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 36/105
  • 37. 4/16/13 HTML5 at YouTube: Stories from the Front Line HTML5 Video Capable Browsers Chrome Firefox IE Safari Opera #HTML5Video 37/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 37/105
  • 38. 4/16/13 HTML5 at YouTube: Stories from the Front Line Flash Support vs. HTML5 Support gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 38/105
  • 39. 4/16/13 HTML5 at YouTube: Stories from the Front Line YouTube Data API Usage for Flash vs. HTML5 Devices gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 39/105
  • 40. 4/16/13 HTML5 at YouTube: Stories from the Front Line Let's talk mobile http://www.flickr.com/photos/indi/2579412663/ gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 40/105
  • 41. 4/16/13 HTML5 at YouTube: Stories from the Front Line Why is Mobile Important #HTML5Video 41/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 41/105
  • 42. 4/16/13 HTML5 at YouTube: Stories from the Front Line Playback Stats 6,000 Mobile Desktop Playback in Millions 4,500 3,000 1,500 0 2010 2011 2012 Year #HTML5Video 42/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 42/105
  • 43. 4/16/13 HTML5 at YouTube: Stories from the Front Line #HTML5Video 43/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 43/105
  • 44. 4/16/13 HTML5 at YouTube: Stories from the Front Line #HTML5Video 44/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 44/105
  • 45. 4/16/13 HTML5 at YouTube: Stories from the Front Line #HTML5Video 45/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 45/105
  • 46. 4/16/13 HTML5 at YouTube: Stories from the Front Line #HTML5Video 46/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 46/105
  • 47. 4/16/13 HTML5 at YouTube: Stories from the Front Line Native · For fallbacks, use rtsp:// protocol (serving .3gp) if the device won't support HTML5 · Use custom protocol / URL scheme to launch the native app (on Android / BB: vdyuuevdoi) n.otb:ie_d · iOS special-cases the YouTube Flash embed code #HTML5Video 47/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 47/105
  • 48. 4/16/13 HTML5 at YouTube: Stories from the Front Line #HTML5Video 48/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 48/105
  • 49. 4/16/13 HTML5 at YouTube: Stories from the Front Line The Different Browsers #HTML5Video 49/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 49/105
  • 50. 4/16/13 HTML5 at YouTube: Stories from the Front Line The Different Browsers #HTML5Video 50/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 50/105
  • 51. 4/16/13 HTML5 at YouTube: Stories from the Front Line The Different Browsers #HTML5Video 51/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 51/105
  • 52. 4/16/13 HTML5 at YouTube: Stories from the Front Line http://www.flickr.com/photos/brownpau/533267369/ #HTML5Video 52/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 52/105
  • 53. 4/16/13 HTML5 at YouTube: Stories from the Front Line How do we start? <video> #HTML5Video 53/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 53/105
  • 54. 4/16/13 HTML5 at YouTube: Stories from the Front Line The Source <video src="funny_cat_video"> #HTML5Video 54/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 54/105
  • 55. 4/16/13 HTML5 at YouTube: Stories from the Front Line The Source <video src="funny_cat_video.webm/mp4/ogg"> #HTML5Video 55/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 55/105
  • 56. 4/16/13 HTML5 at YouTube: Stories from the Front Line Mobile Formats Support Chrome Safari Firefox Opera IE Android H264 Android 4.1+ WebM Android 4+ Android 4+ Android 4+ HLS Android 3+ #HTML5Video 56/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 56/105
  • 57. 4/16/13 HTML5 at YouTube: Stories from the Front Line Platform Versions and Distribution #HTML5Video 57/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 57/105
  • 58. 4/16/13 HTML5 at YouTube: Stories from the Front Line The Source <ie> vdo HM TL <oresc"un_a_ie. p " suc r=fnyctvdom 4 > <oresc"un_a_ie. e m > suc r=fnyctvdow b " <vdo /ie> #HTML5Video 58/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 58/105
  • 59. 4/16/13 HTML5 at YouTube: Stories from the Front Line Power gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 59/105
  • 60. 4/16/13 HTML5 at YouTube: Stories from the Front Line Playback Stats Software idle Hardware webm h264 flash 700 800 900 1,000 1,100 Mean current draw (milliamps) Research done by Yossi Oren For more information visit http://iss.oy.ne.ro/ #HTML5Video 60/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 60/105
  • 61. 4/16/13 HTML5 at YouTube: Stories from the Front Line Stick it in the page gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 61/105
  • 62. 4/16/13 HTML5 at YouTube: Stories from the Front Line Let's add a poster attribute and some click handlers gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 62/105
  • 63. 4/16/13 HTML5 at YouTube: Stories from the Front Line Video Poster Very different behavior in different browsers · Stretch poster image to < i e >element size, or fit proportionally vdo · May replace poster image with a paused frame from the video · May overlay a play icon that is different for each platform #HTML5Video 63/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 63/105
  • 64. 4/16/13 HTML5 at YouTube: Stories from the Front Line Video Poster Pro Tips Protips for a consistent look: · Render your own cued state: < m >for the poster, play icon ig · Replace with the < i e >when it's time to play vdo · Set the background color to black for continuity across platforms #HTML5Video 64/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 64/105
  • 65. 4/16/13 HTML5 at YouTube: Stories from the Front Line How do videos play back? 1. Inline in the page · iPad · Android 4.0 and up · Chrome 2. Always fullscreen, no matter what · iPhone, iPod · Android 2.2 - 3.0 · Windows Phone #HTML5Video 65/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 65/105
  • 66. 4/16/13 HTML5 at YouTube: Stories from the Front Line Fullscreen-only <video> Video element can be stuck anywhere on the page · 1x1 pixels, or offscreen · but: has to be in the DOM, can't be visibility:hidden or display:none · just call play() to go fullscreen · iPhone: zoom-in animation from <video>'s position On webkit, good interaction with your webapp · Video events still fire: timeupdate, ended etc. · Free to change web page in the background · webkitbeginfullscreen, webkitendfullscreen events #HTML5Video 66/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 66/105
  • 67. 4/16/13 HTML5 at YouTube: Stories from the Front Line Fullscreen-only <video> caveats Native controls only No overlays or custom UI Can't do captions etc. #HTML5Video 67/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 67/105
  • 68. 4/16/13 HTML5 at YouTube: Stories from the Front Line Controls <video controls> #HTML5Video 68/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 68/105
  • 69. 4/16/13 HTML5 at YouTube: Stories from the Front Line Controls gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 69/105
  • 70. 4/16/13 HTML5 at YouTube: Stories from the Front Line Native Controls Support Chrome Safari Firefox Opera IE Android Play/pause Button Volume Mute toggle Don't work in Controls Only in Fullscreen only Android 4 Seek bar Fullscreen Button Button and gesture Button Fullscreen only on Determined by Fullscreen Playback Type Both phones Inline only hardware only Both #HTML5Video 70/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 70/105
  • 71. 4/16/13 HTML5 at YouTube: Stories from the Front Line Custom Controls · Preserve your brand · Unified experience across platforms and browsers #HTML5Video 71/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 71/105
  • 72. 4/16/13 HTML5 at YouTube: Stories from the Front Line Custom Controls gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 72/105
  • 73. 4/16/13 HTML5 at YouTube: Stories from the Front Line Custom Controls · Preserve your brand · Unified experience across platforms and browsers · Allows us to expand the set of controls and add our own - Annotations - Playlist - Captions - More #HTML5Video 73/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 73/105
  • 74. 4/16/13 HTML5 at YouTube: Stories from the Front Line Custom Controls Pro Tips · User expect to be able to drag the progress bar - Need to remender to prevent scroll on touchstart · Volume can't be set everywhere and users are accustomed to using device controls - So don't build controls for it · Fingers are fat - Average finger is 11mm so make targets at least 40px with 10px padding - Use SVG's so icons can be scaled and shared with desktop application · Don't trigger content with hover · Fullscreen - The browsing context is always fullscreen so fake it #HTML5Video 74/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 74/105
  • 75. 4/16/13 HTML5 at YouTube: Stories from the Front Line Fullscreen #HTML5Video 75/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 75/105
  • 76. 4/16/13 HTML5 at YouTube: Stories from the Front Line requestFullscreen #HTML5Video 76/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 76/105
  • 77. 4/16/13 HTML5 at YouTube: Stories from the Front Line What about Mobile? #HTML5Video 77/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 77/105
  • 78. 4/16/13 HTML5 at YouTube: Stories from the Front Line Isn't it already fullscreen? #HTML5Video 78/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 78/105
  • 79. 4/16/13 HTML5 at YouTube: Stories from the Front Line Yes (sort of) #HTML5Video 79/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 79/105
  • 80. 4/16/13 HTML5 at YouTube: Stories from the Front Line Mobile Fullscreen · Open New Tab · Remember size context changes so use viewport to scale icons and controls - @viewport { width: device-width; } · webkitEnterFullscreen - Webkit only - Just the video element - Native controls only - metadata must be loaded - Only in click event #HTML5Video 80/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 80/105
  • 81. 4/16/13 HTML5 at YouTube: Stories from the Front Line Autoplay <video autoplay> #HTML5Video 81/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 81/105
  • 82. 4/16/13 HTML5 at YouTube: Stories from the Front Line Autoplay #HTML5Video 82/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 82/105
  • 83. 4/16/13 HTML5 at YouTube: Stories from the Front Line Autoplay · Doesn't work! Restriction: need user action. · Why? - On a cell network - users charged for data - Slow downloads, let the user decide · Where? - Safari on iOS (iPad included, even on WIFI) - Android Browser (4.0+) - Chrome on Android #HTML5Video 83/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 83/105
  • 84. 4/16/13 HTML5 at YouTube: Stories from the Front Line Autoplay What about everyone else? #HTML5Video 84/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 84/105
  • 85. 4/16/13 HTML5 at YouTube: Stories from the Front Line Autoplay Support Chrome Safari Firefox Opera IE Android Attribute Scripted Buggy, going away #HTML5Video 85/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 85/105
  • 86. 4/16/13 HTML5 at YouTube: Stories from the Front Line Autoplay #HTML5Video 86/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 86/105
  • 87. 4/16/13 HTML5 at YouTube: Stories from the Front Line Autoplay <video onclick="this.play()"> #HTML5Video 87/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 87/105
  • 88. 4/16/13 HTML5 at YouTube: Stories from the Front Line Autoplay #HTML5Video 88/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 88/105
  • 89. 4/16/13 HTML5 at YouTube: Stories from the Front Line Autoplay #HTML5Video 89/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 89/105
  • 90. 4/16/13 HTML5 at YouTube: Stories from the Front Line Autoplay <cit srp> JVSRP AACIT fnto smCikvn(v){ ucin oelcEetet / I aue iiitdtra. / n sr ntae hed mVdolmn.od) / Mgcicnaint eal pa( ltro! yieEeetla(; / ai natto o nbe ly) ae n gtieDt(;/ Tigr a aa cl. eVdoaa) / rges n jx al } fnto oGtieDtRtre(aa { ucin neVdoaaeunddt) / Nti aue iiitdtra. / o n sr ntae hed stieEeetr(aa; eVdolmnScdt) mVdolmn.od) yieEeetla(; mVdolmn.ly) yieEeetpa(; } <srp> /cit #HTML5Video 90/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 90/105
  • 91. 4/16/13 HTML5 at YouTube: Stories from the Front Line Autoplay <cit srp> JVSRP AACIT fnto smCikvn(v){ ucin oelcEetet / I aue iiitdtra. / n sr ntae hed mVdolmn.od) / Mgcicnaint eal pa( ltro! yieEeetla(; / ai natto o nbe ly) ae n gtieDt(;/ Tigr a aa cl. eVdoaa) / rges n jx al } fnto oGtieDtRtre(aa { ucin neVdoaaeunddt) / Nti aue iiitdtra. / o n sr ntae hed stieEeetr(aa; eVdolmnScdt) mVdolmn.od) yieEeetla(; / FrAdod / o nri wno.eTmotfnto( { idwstieu(ucin) mVdolmn.ly) yieEeetpa(; } 0; , ) } <srp> /cit #HTML5Video 91/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 91/105
  • 92. 4/16/13 HTML5 at YouTube: Stories from the Front Line Embeds in an HTML5 world #HTML5Video 92/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 92/105
  • 93. 4/16/13 HTML5 at YouTube: Stories from the Front Line Embeds · <script> - We need our content to be sandboxed - More than just a video tag · <object> - Can load content with the data attribute - But no way to interact with it via JavaScript · <iframe> - Allows our content to be sandboxed - JavaScript API communication #HTML5Video 93/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 93/105
  • 94. 4/16/13 HTML5 at YouTube: Stories from the Front Line Embeds <faetp=tx/tl irm ye"ethm" HM TL wdh"4" it=60 hih=35 egt"8" faeodr"" rmbre=0 sc"tp/wwyuuecmebdVDOI" r=ht:/w.otb.o/me/IE_D alwulcen loflsre> <irm> /fae · Plan for the future (if you can) #HTML5Video 94/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 94/105
  • 95. 4/16/13 HTML5 at YouTube: Stories from the Front Line Iframe Pro Tips hm { tl CS S /*Hc t fxihn rszn.* * ak o i Poe eiig / oefo:hde; vrlw idn } bd { oy CS S /*DmncRszn */ * yai eiig * bcgon-oo:#0; akrudclr 00 hih:10; egt 0% wdh 10; it: 0% /*Rmv hglgtwe uecik */ * eoe ihih hn s lcs * -ekttphglgtclr rb(,0 0 0; wbi-a-ihih-oo: ga0 , , ) } #HTML5Video 95/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 95/105
  • 96. 4/16/13 HTML5 at YouTube: Stories from the Front Line Offline and Storage http://www.flickr.com/photos/dannykboyd/5048495262/ gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 96/105
  • 97. 4/16/13 HTML5 at YouTube: Stories from the Front Line Appcache · Offline mode for a video streaming site - useless? · More that just offline access: saves on latency every visit · Pay for code size twice: download + parse time · Saves the download time #HTML5Video 97/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 97/105
  • 98. 4/16/13 HTML5 at YouTube: Stories from the Front Line Appcache <tlmnfs=mnfs_r" hm aiet"aietul> HM TL <citsc"citj"/ srp r=srp.s > <ikrl"tlset he=syecs / ln e=syehe" rf"tl.s" > <hm> /tl CCEMNFS AH AIET HM TL CCE AH: srp.s citj syecs tl.s NTOK EWR: fl_oawy_odjg iet_lasla.p #HTML5Video 98/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 98/105
  • 99. 4/16/13 HTML5 at YouTube: Stories from the Front Line Appcache - How to force an update? CCEMNFS AH AIET HM TL CCE AH: foj o.s #Biddt:2102 ul ae 0268 / Rno AA rsos / adm JX epne JVSRP AACIT {"aa:.. dt" ., "ulDt" 2102 } bidae: 0268 v r s r p B i d a e = 2 1 0 2 ; / A t - e e a e d r n b i d o pJ V S R P a citulDt 0 2 6 1 / u o g n r t d u i g u l r uA A C I T sh i (oeepnebidae>srpBidae { f smRsos.ulDt citulDt) wno.plctoCceudt(; idwapiainah.pae) } #HTML5Video 99/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 99/105
  • 100. 4/16/13 HTML5 at YouTube: Stories from the Front Line Appcache gotchas · GET parameters on cached resources bypass the cache · Strict implementations (eg. iOS5) refuse to download files not in the manifest · since YouTube streams from many domains, we just put NTOK * EWR: · Can get wrong in a scary way · Users stuck on old code · Create multiple copies of the entire site in the cache · Easy to break master URL · some redirects to an appcached site: 303 or history.replaceState · history.pushState before background download completes · Some implementations are buggy #HTML5Video 100/105 gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 100/105
  • 101. 4/16/13 HTML5 at YouTube: Stories from the Front Line So is the coolness ready? gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 101/105
  • 102. 4/16/13 HTML5 at YouTube: Stories from the Front Line Yes And not only do your users want it, they need it gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 102/105
  • 103. 4/16/13 HTML5 at YouTube: Stories from the Front Line <Thank You!> gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 103/105
  • 104. 4/16/13 HTML5 at YouTube: Stories from the Front Line can haz question? http://www.flickr.com/photos/cloudzilla/378829651/ gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 104/105
  • 105. 4/16/13 HTML5 at YouTube: Stories from the Front Line gregthebusker.com/html5/html5_at_youtube_u_of_i.html#1 105/105