Real Revenge: Realplayer 11 Breaks the Flashplayer

Gotta love this one…

The latest version of Real Networks’ Real Player 11 beta has a nifty little feature that lets people grab videos that are displayed in web pages. I usually appreciate toys like this, but not when they break other programs.

When installing Realplayer 11 beta on one of my Windows Vista machines, I found that variable data that should be sent to Flash Media Server applications through the Flashplayer client (in the NetConnection.connect arguments) is no longer sent, and all of the variables come up as undefined on the server side!

If found that the problem exists only when the “download video button” is installed along with Realplayer. I suspect that the Reaplayer is hijacking the NetConnection.connect request somehow, in order to facilitate ripping files

That’s a huge deal, as such a problem is going to break a lot of Flash applications out there. I’ll update this post as I learn more, but if you’re an FMS dev, I’d suggest you get the latest Realplayer and start testing your FMS apps (man… does that sound stupid or what?).

The conspiracy theorists are going to have a field day with this one.

FYI… my test platform for this is Windows Vista Home Premium/Flashplayer 9.0.45.0/IE7.0.6, and the current release of Realplayer 11 beta (the free version)

Links on the matter:

http://rws-blog.rhapsody.com/realplayer/2007/07/realplayer-beta.html

http://weblogs.macromedia.com/jd/archives/2007/07/real_problem.cfm

Update 08/04/2007  - The current release of Real 11 Beta seems to have this particular problem worked out, but the discovery of this issue raises a much larger question. Now that we know Realplayer is hijacking data moving to and from other plugins, do we have any idea what Reaplayer might do with that data (like keeping stats or even transmitting the raw data to a third party)? I guess the simple answer there is, no, we don’t.

Did we forget about the concept of trust here?

13 Responses to “Real Revenge: Realplayer 11 Breaks the Flashplayer”

  1. Russ Ryan Says:

    Jay,

    I am the manager of the development team for Real Player at Real Networks. We have not seen the behavior you describe, but when we learn of a problem like this we want to jump on it as quickly as possible. Can you direct us to a URL the illustrates the problem?

    As for the NetConnection conjecture, we do not hijack any connections. As explained in the comments for the blog entry at http://rws-blog.rhapsody.com/realplayer/2007/07/realplayer-beta.html, we don’t modify or replace anything in the process. Once we get a recreation of the problem we’ll be in a better position to make sure we don’t get in the way.

  2. Jay Charles Says:

    Thanks for commenting, Russ. I’ll rant in a future post about my findings being mere “conjecture” in the eyes of Real Networks, but for the time being…

    Here’s a simple flash/FMS application that will illustrate the problem (obviously, you’ll need to build the .swf and set up an FMS server to test it):

    Flash client side actionscript:

    var nc = new NetConnection();
    nc.connect(”rtmp://myfmsserver.com/testapp”, “Bob Jones”);

    Flash Media Server side actionscript
    application.onConnect = function(clientObject, userName){
    trace(”The user name is “+userName);
    }

    In this simple application, we are passing a single value (”Bob Jones”) to FMS in the client side NetConnection.connect constructor. When realplayer is not installed on the client machine, we will see the following trace to the Flash Media Server Admin console:

    The user name is Bob Jones

    With Reaplayer 11 installed, the variable data is not sent to FMS, and the trace in the admin console looks like this:

    The user name is undefined

    I hope that info helps you to isolate the issue and get it fixed.

  3. Russ Ryan Says:

    Thanks for the information, Jay. It was sufficient for our engineers to isolate the problem and find a fix over the weekend. We will be posting an update in a few days (once it passes our own QA) and adding your situation to our QA matrix.

  4. Jay Charles Says:

    Gee whiz, Russ, I can’t express how happy I am to know that my ‘conjecture’ has been upgraded to a ’situation’.

    BTW… my interpretation of the answer is something along the lines of…

    “Ok, we believe you now, and we know we’re breaking other people’s software and applications….. but we’re not going to do anything about the million+ daily downloads of our broken software for now, we’ll just let that problem grow until we know that fixing it doesn’t disrupt our goals”.

    Clearly, Realplayer 11 is not ready for public beta. Perhaps the big yellow button on the Real.com top page should lead people to a stable version that doesn’t attack other software.

  5. Keith Peters Says:

    Jay. LOL. You have made my day. I’ve spent hours tracking down this problem, which is breaking some of our players here at Brightcove. For example, it breaks ALL content at http://musicbox.sonybmg.com/

    Needless to say, Sony is not pleased.

    Russ, this is probably one of the most irresponsible software releases I’ve seen in a while. If you want to release buggy software, that’s one thing, but when your bugs cause other applications all over the net to break, that is utterly unacceptable.

  6. BIT-101 Blog » Blog Archive » Real Player: Do not install. Spread the word. Says:

    [...] http://blog.jaycharles.net/?p=9#comment-14 [...]

  7. Russ Ryan Says:

    After the report from Jay Charles that the Real Player 11 Beta broke applications using Flash Server when the Flash 9 NetConnect API was used, our engineers discovered that we were not handling optional arguments correctly when we installed a proxy for the API. A fix has been posted to the realplayer.com site today.

    We are very concerned about places where we might break existing and future applications. We would like to invite anyone in the Flash development community that is interested to help us test early versions of each of our releases by making sure that it works well with their applications. If you are interested, please send email to rp-product@real.com indicating your interest.

  8. Jay Charles Says:

    “our engineers discovered that we were not handling optional arguments correctly when we installed a proxy for the API. A fix has been posted to the realplayer.com site today.

    So, then it is true that Realplayer is a hijacker of other software (calling it a proxy is just a nice way of saying it).

    Here’s an even better way to test your software…. HIRE PEOPLE TO DO IT. The invitation is nice, but that’s really a job for QA, not for beta testers.

    Also, keep in mind that anyone with the FMS chops to adequately test against your software is in high demand an commands a premium rate, so that’s some awfully valuable time to ask such people to donate to your cause.

    I don’t specifically mean to slam every one of your comments here, Russ, as it’s clear your personal motivations are in the right place… but this whole situation makes Real look terrible.

    The stream ripping is one thing (I don’t see an ethical issue when it comes to making unprotected interweb content easy to grab… but lots of people do), but you’ve got to admit that the way the new player poisoned flash it’s almost hard not to think it was done with just a little bit of intent (I mean… it was a really great bug to have in there if you’re Real Networks… killing a huge number of FMS and FVSS streaming clients like that).

    The funny thing in all of this is that I discovered the bug by pure dumb luck. I was using a new laptop (that didn’t ship with Realplayer… surprise, surprise), and one of the sites I buy records from still uses Real for it’s audio, so I needed to install Real to listen. The next day, none of my apps worked on that laptop, so the problem was apparent right away. Had I not used the laptop to buy my records that week, I wouldn’t have known of the problem until an angry client let me know about it.

    In the end, Real Networks has just added another layer to the testing process of all the Flash work I do, as I cannot trust that other parts of the runtime have not been affected by Reaplayer’s hijacking process.

    When it comes to my clients who are using both Real/Helix server and FMS, I really have no choice but to make strong recommendations for complete migration to FMS (or at least only use WM and QT) , so their sites don’t require Realplayer anymore.

  9. Jay Charles » Blog Archive » Realplayer 11: Still killing the Flashplayer Says:

    [...] couple of weeks ago I blogged about problems with Real Networks’ RealPlayer causing problems with the Flashplayer

  10. Girshon Rutstein Says:

    November 16, Real Player 11 still kills the Flash Applications

  11. Joe Says:

    Real Player has broken all of my Flash video feeds. YouTube videos stop in seconds. When I visited http://musicbox.sonybmg.com/ (great site by the way), noted above, I don’t have any sound.

    Is it posted, somewhere, a fix for this? Better yet, how do I remove all the crap Real Player has installed on my Macintosh Computer? Where are the preferences that it changed for all of my browsers (Safari, Firefox etc) How do I undo this horrible mistaken install?

    Joe

  12. Valentina R Says:

    Search anything with “real” and delete it. I am surprised that Adobe is quite about it. Real Player can lose a lot of business if they will not solve the problems, right away.

  13. Ped Sofocleous Says:

    I find it amazing that this was published 8,9 months ago and Real still released software that completely breaks other software. It seems that it also changes the data sent to via FlashVars to flash… it looks like its changing the data. for example it replaces a space with a plus (+) sign…. how on earth has Adobe not sued Real yet??? pretty soon spyware checkers with identify Real player as a threat!

Leave a Reply