
Flash-Free Video in 2016 - flavioribeiro
http://open.blogs.nytimes.com/2016/02/08/flash-free-video-in-2016/
======
j2bax
I was at a primarily Flash based company during the glory days of Flash and
then through the transition to HTML5/JS. While I understand perfectly (and
even support) why the shift happened (thanks Steve!), its still frustrating
sometimes to know that now, years later we still aren't able to provide the
quality of games that we were in Flash 3-4 years ago. We can do a lot, and
things have come a ways, but right before the major shift happened, when Flash
gained GPU support, the effects and performance possible in most major desktop
browsers was pretty awesome. I realize that HTML5 is now capable of utilizing
the GPU, but its browser support is still not where it needs to be for us to
offer it as a mass consumer option for most of our clients.

I look forward to the day when we can say HTML5 is so much better (than Flash)
for interactive/media content on the web, but sadly we still aren't there. I
have hope that we will get there eventually. Until then, we will continue
providing slightly dumbed-down games and content with the benefit of it
working on mobile, tablet and desktop browsers.

~~~
neals
I totally agree. I've worked with AS3 up until a few months ago but have also
been moving to HTML5 for a few years besides. The amount of brainpower that is
wasted on quirky legacy browser behaviour and the lack of consistency between
them makes me long for the days where I could position and measure and control
with ease and speed as in Flash.

~~~
StillBored
I might say much the same things about web development in general. Twenty,
years later I still think its easier to create a desktop application with a
remote SQL back-end than a web app for any moderately complex application.
Data aware visual components and the like have only pale imitations in
html/javascript/css. Things like crystal reports have been ported to the web
environment but along the way seem to have lost the convenience they had,
where it was possible to add them 3/4 of the way through a project. Now you
have to rework 1/2 the back-end code (it not the entire project) to add a
package like into the mix.

~~~
mesh
>Flash is now almost dead since Adobe basically pulled the plug on the IDE and
there is nothing AS3 devs can do about it.

Adobe did not "pull the plug on the IDE". It has been renamed to Adobe Animate
to reflect its ability to output to multiple platforms (such at HTML5, video
AND Flash).

You can still use it to create Flash content, and will continue to be able to
do so in the future.

More info here: [http://blogs.adobe.com/flashpro/welcome-adobe-animate-cc-
a-n...](http://blogs.adobe.com/flashpro/welcome-adobe-animate-cc-a-new-era-
for-flash-professional/)

And we will have a lot of information this week on our twitch channel:

[http://www.twitch.tv/adobe](http://www.twitch.tv/adobe)

mike (I work for Adobe).

~~~
BatFastard
One of the tools has been renamed. The IDE is still alive and growing monthly.
I have never used the Adobe tool, since it was time-line oriented and I have
never used it in that fashion. Instead I use FlashDevelop, and Intellij. Both
great tools for developing in AS3.

------
sparky_z
I know everybody here hates flash (for excellent reasons!) and is happy to see
it die. But, as a user who doesn't work in tech, I really miss the ability to
enforce click-to-play loading of videos. From my pseudo-outsider perspective,
the switch to HTML5 has been really frustrating.

I happen to hang out around these parts so I understand the reasons for it,
but if I didn't it would probably make me mad. It would feel like websites
were just trying to get around my flash blocker and shove their autoplaying
media in my face. Just goes to show how different things can look from the
developer side of things.

~~~
themartorana
We're only happy to see it die because it was never well cared for. Flash was
much heavier and much, much more insecure than it needed to be with Adobe-
level money behind it. They were terribly poor stewards of the technology. I
mean no offense to anyone that was on the Flash team, I am making a (flawed?)
presumption that it probably didn't feel great inside the company either.

Others may tell you I'm wrong - it's about standards and open technologies and
whatnot. But personally (and for people I work with that I can speak for)
Flash failed because Abode failed Flash.

~~~
guelo
The real reason Flash died was not technical, it was because Steve Jobs didn't
want a whole platform he didn't control running on the iPhone.

~~~
CaptSpify
well.... both really. Flash was a mess by then, but your point is also true.
It would have made the app-store worthless

~~~
Pxtl
Yes. Jobs did it for control, but the fact that Flash was a bloated dumpster-
fire of a platform made everybody else agree with him.

------
akoumjian
It should be noted that the native browser decoders for h264 still produce
worse color presentation than flash players. Also, the flash runtime's pseudo-
streaming is faster than Chrome's http pseudo-streaming (it takes longer for
the same h264 file to start playing back).

I love HTML5 video, but there are still huge areas for improvement that show
up frequently.

~~~
modeless
YouTube in Chrome starts playing video practically instantly, before the page
is even finished loading. It's faster than Flash ever was.

~~~
JohnTHaller
parent is referring to pseudo-streaming (aka downloading a video over http),
not proper streaming (aka YouTube, etc)

------
dplgk
Has anyone here that is excited about HTML5 video (and Flash being dead) ever
written an enterprise video player? It's a total nightmare in HTML5. You have
little control over playback and insight into video events. Meeting _business_
requirements (that Flash fulfilled) with HTML5 video ranges from hard to not
possible.

~~~
cballard
> You have little control over playback

This sounds user-friendly.

> insight into video events

If "insight" means "tracking", this sounds _very_ user-friendly.

~~~
Someone1234
> If "insight" means "tracking", this sounds very user-friendly.

What about a slideshow which has a video of the speaker, and changes the
slides for particular timestamps.

At the moment you'll have to detect the playback event and just hope that the
video is playing back at the "correct" speed, and change the slides based on a
JavaScript clock.

While that works most of the time, it isn't what I'd describe as reliable.

Alternatives exist, like making the slides part of the video too, but now text
cannot be copied out, links cannot be clicked, and so on...

~~~
Etzos
I am by no means experienced in this area, but a quick search of MDN showed
the 'timeupdate' event[1]. Is that not sufficient for the usecase you gave?
The timestamp itself is available through the 'currentTime' property[2] so you
can always have that value as well.

[1] [https://developer.mozilla.org/en-
US/docs/Web/Events/timeupda...](https://developer.mozilla.org/en-
US/docs/Web/Events/timeupdate)

[2] [https://developer.mozilla.org/en-
US/docs/Web/API/HTMLMediaEl...](https://developer.mozilla.org/en-
US/docs/Web/API/HTMLMediaElement/currentTime)

Edit: Added links for quick reference.

~~~
Chris_Newton
In theory, yes, that’s how you’re supposed to do it. Unfortunately, part of
the real world problem with switching to HTML5 media elements is that browsers
have an awful track record in terms of quality of implementation. At various
points, even quite basic events simply haven’t been firing properly in one
browser or another. And with browsers updating every six weeks and frequently
changing things like the default controls you get on a video element, you’re
constantly aiming at unnecessarily moving targets as a developer.

~~~
Arnavion
Yep, here's an example - if you mouse down on the video thumb, and don't move
the mouse nor release the mouse button (so basically you've held the thumb in
place):

\- Does the pause event fire?

\- Does the seeking event fire? Or does it only fire when you move the mouse
to drag the thumb to a new time?

\- Does the seekend event fire? Does it fire every time you move the thumb to
a new position without releasing the mouse button? Or does it only fire when
you release the mouse button?

\- Does the timeupdate event fire? Does it fire once? Or repeatedly for the
same position where the thumb is?

Every browser has different answers.

As for the timeupdate event, it only fires once every 250ms, which is
painfully slow for applications that need to synchronize something with the
video (slides, subtitles, etc.)

And even if you decided to ignore all the events and write a
requestAnimationFrame-powered loop to query only the changes in the
currentTime property, there's a bug in Chrome on Android where the
video.currentTime property becomes out-of-sync with the video if any long-
running JS or complicated animation blocks the event loop for a few seconds -
[https://code.google.com/p/chromium/issues/detail?id=509010](https://code.google.com/p/chromium/issues/detail?id=509010)

------
grabcocque
So, basically Flash lives on because advertisers are still looking for a way
to track us without our permission.

Gee thanks.

~~~
gue5t
All closed technology, on some level, exists to perpetuate coercion. This is
the thesis of the free software movement.

~~~
matthewmacleod
I think that's a rather extremist view.

~~~
liquidise
have you read his profile?

------
rplnt
Let's see when Facebook converts. For some reason they love to serve Flash
based SOLELY on user agent. So you have a chrome fork without flash? Here,
watch this flash. Oh, and this gif is now flash as well.

I can't quite figure out why.. but I would vote for incompetence. Can't see
any business motivation for doing that.

~~~
tomschlick
They probably just have a whitelist of user agents that they have verified
HTML5 video to work well on... If it's anything they don't recognize they
serve flash.

~~~
mmcclure
I'm not sure if this is what you're referring to, but they also don't allow
you to embed a custom HTML5 player, just Flash. So, if you're a content
producer or platform that wants to use your own player, your only option is to
embed a SWF.

The irony is that I'm pretty sure the reasoning has security in there
somewhere.

------
cpeterso
One advantage of Flash over HTML5 video (in Firefox, at least) is that Flash
has its own H.264 decoder for platforms that don't include one (like Windows
XP or the "N/KN editions" of Windows for Europe and Korea). Flash can also use
the GPU for decoding or compositing of video on XP, providing better
performance than Firefox playing VP9 using a software decoder.

YouTube recently relegated Flash to the bottom of its list of preferred video
formats. Firefox users on XP who used to get hardware-accelerated 1080p video
using Flash now get VP9. Many older XP machines can't keep up decoding VP9 in
software. I recommend Firefox users on XP install the "YouTube Flash Video
Player" add-on, which will force YouTube to use Flash again:

[https://addons.mozilla.org/en-US/firefox/addon/youtube-
flash...](https://addons.mozilla.org/en-US/firefox/addon/youtube-flash-video-
player/)

~~~
Pxtl
XP machines? In 2016? That's solving the wrong problem.

~~~
cpeterso
XP is still a big problem. About 14% of Firefox users are running XP, about
the same share as running Windows 10. Google says they will drop support for
Chrome on XP and Vista in April 2016. They already extended their XP EOL twice
before (from December 2015 and April 2015), so there's a good chance they will
need to do it again.

~~~
Pxtl
I had an old Xp-based laptop running as a file-and-print server. It was behind
a router, so not even fully public. Nothing was even running on it besides SMB
shares, VNC, and a media server.

Some kind of botnet must have hit it, because one day I got a bandwidth-
consumption notice from my ISP and found that an SSH server and a torrent
system had been installed.

------
blinkingled
Now if they could make Firefox play those videos on Android all would be good.

Are NYT videos DRM enabled or use a codec that FF doesn't support on Android?
FF should be just using the platform provided codecs and if it works in Chrome
it should work in FF - but I just get a Video/Mime Type unsupported error on
FF when browsing NYT.

~~~
eldod
There are no DRMs on the NYT streams (hls.js supports AES encryption, but it's
not exactly a DRM liek Widewine or Playready).

Firefox Android doesn't have Media source Extensions, that allow HLS support
in HTML5 :
[http://www.jwplayer.com/html5/mediasource/](http://www.jwplayer.com/html5/mediasource/)

~~~
cpeterso
Firefox on Android is supposed support MSE (for MP4/H.264, but not WebM/VP9).
For example, YouTube MSE works in Firefox. Is it broken for you? That JW
Player page is out of date. It also says MSE doesn't work on Firefox desktop.
:)

~~~
blinkingled
I recall reading somewhere that there's a whitelist for MSE and only a few
sites are enabled on FF right now?

~~~
eldod
I don't think MSE is yet enabled on Firefox mobile, it was not working the
last time I tested.

It says unsupported here, I guess this one is up to date:
[https://developer.mozilla.org/en-
US/docs/Web/API/MediaSource](https://developer.mozilla.org/en-
US/docs/Web/API/MediaSource)

~~~
cpeterso
MSE has been available on Android since Firefox 41 (bug 1084456). That MDN
page was out of date. Thanks for pointing out the error! I just updated it. :)

[https://bugzilla.mozilla.org/show_bug.cgi?id=1084456](https://bugzilla.mozilla.org/show_bug.cgi?id=1084456)

------
gmfawcett
Live streaming is still a pain-point in HTML5. I can play a live HLS stream on
my Android or iOS phone, or I can play a live RTMP stream through Flash on the
desktop; but everything else on the desktop is flaky, or experimental and
flaky (MPEG-DASH), or just nonexistent (in the browser, that is -- not
including video clients like VLC). I would love to see 2016 be the year where
this gap is closed!

------
tbrock
Sometimes I think Steve Jobs' greatest contribution may have been killing
flash. Today is a glorious day.

~~~
epistasis
This really wasn't a Steve Jobs contribution in the least, it was Adobe.

Flash on mobile was terrible, Steve Jobs may have been the messenger for that
but he wasn't the decision maker.

~~~
rjvir
Apple not supporting Flash was a crucial part of it's demise, though. Without
that, we might be running Flash on mobile today, even though it was terrible.

~~~
art0rz
They did actually support it for a while on Android, but Apple never wanted to
support third party browser plugins on iOS, and since the Android port was
horribly slow even on the most basic swfs and was a huge hack, Adobe decided
to drop it. AIR is still supported on both platforms, though (and I hear it's
quite good).

------
jmstickney
If they still serve video via Brightcove, seems like a big win for the
Zencoder acquisition, which included the video.js player. I do see video.js in
the source.

~~~
flavioribeiro
there's no Brightcove neither videojs, VHS was built from scratch and we have
plans to open source it.

~~~
cpeterso
btw, what does "VHS" stand for? It's an awesome name. :)

~~~
flavioribeiro
hey! VHS is actually a tribute to the old "Video Home System" :) We also name
our releases with 80s movies, here are some examples of the latest versions:

\- 2.63.0 Coming to America \- 2.60.0 The Terminator \- 2.59.0 Full Metal
Jacket

------
bennettfeely
Perhaps a little off-topic but it would be nice if NPR could HTML5-up their
web radio player also.

------
wanderfowl
This is excellent, and sounds like the result of hard work and harder cajoling
of the ad-men. Thanks, NYT, for doing your part.

------
dude_abides
What I found most heartening about the article was that it spent several
paragraphs describing why they initially had to use Flash, and how they
managed to get rid of it, but not a single sentence saying _why_ they decided
to get rid of Flash. We've come a long way! (Also, thanks Steve Jobs!!!)

~~~
TheCoreh
> Throughout the second half of 2015, Chrome, Firefox and Safari also began
> blocking the Flash plugin from automatically loading content unless users
> gave their permission. In order to continue providing a quality video
> experience for our viewers, switching exclusively to HTML5 video became
> necessary.

~~~
dude_abides
Hah missed that. In that case, thanks are due to Chrome+Firefox+Safari!

------
asquabventured
Good! Now move to https!!!

Secure the damn web.

~~~
rifung
Only slightly related but even Amazon isn't on HTTPS, which I find to be a
much bigger issue since they deal with credit cards

~~~
a457186
Both [https://amazon.com](https://amazon.com) and
[https://amazon.de](https://amazon.de) work for me.

------
mtgx
And yet it still doesn't use HTTPS. Wasn't it supposed to get it by the end of
last year?

~~~
dayyvson
We had to shift a few priorities last year, but we are working to get HTTPS
support on our video player. So, stay tuned!

~~~
cpeterso
HTTPS is a challenge for video players because a player on an HTTPS web page
must also stream video over HTTPS (to avoid HTTP/HTTPS mixed content errors or
warnings), which can be costly. Flash doesn't enforce mixed content checks.

------
smaili
Fantastic news and congrats to the NY Times team.

Does anyone know, who at this point still continues to use Flash?

~~~
_jomo
Pretty much every music streaming service I know of. There were a few that
used HTML5, but all of them shut down (most recently rdio).

For Spotify, there's a years old request on the forums [0] their support keeps
linking people to, but it doesn't seem like they're doing anything about it.

Deezer uses Flash for "security reasons" [1] and they don't plan to use HTML5.

Someone mentioned Google Play might work, but I haven't tried that yet.

0: [https://community.spotify.com/t5/Live-Ideas/Integrate-
HTML5-...](https://community.spotify.com/t5/Live-Ideas/Integrate-HTML5-with-
play-spotify-com/idi-p/596108)

1:
[https://twitter.com/Deezer/status/539344616580194304](https://twitter.com/Deezer/status/539344616580194304)

~~~
agentdrtran
Google Play Music does work without flash but it's a "Labs" feature.

~~~
NoGravitas
Thanks for the tip...apparently it doesn't work on Firefox, or doesn't work on
Linux, or something. I found the switch to enable it, but it's grayed out.

------
vermontdevil
Yet NYT does not bother with subtitling their videos. Feels like I'm back to
the early 80's when less than 20% of tv shows including news were captioned.

Two steps forward, then three steps backwards. Great.

------
mschuster91
> Chrome, Firefox and Safari also began blocking the Flash plugin from
> automatically loading content unless users gave their permission.

Fuck auto-play websites, made possible by HTML5. Even LOADING content unless
the user explicity consented is horrible behavior.

Not everyone has an unlimited tethering plan or WiFi, fuck you very much.

------
shmerl
I hope DASH will remain patent free. There was some attempt to attack it. It's
quite important for Web video.

------
sz4kerto
My bank introduced a flash-based internet banking half a year ago. Really.
(only the login requires flash)

~~~
filipm
You should probably get rid of them ;-)

~~~
sz4kerto
I know. Don't even know what they were thinking.

------
mentos
[http://www.apple.com/hotnews/thoughts-on-
flash/](http://www.apple.com/hotnews/thoughts-on-flash/)

------
pjbrunet
Turn off Flash for YouTube
[https://www.youtube.com/html5](https://www.youtube.com/html5)

------
artursapek
"VHS"

