Interview with Mike Melanson, lead engineer on the Linux Flash Player team

Interview with Mike Melanson, lead engineer on the Linux Flash Player team

Summary: Mike Melanson, an engineer on Adobe's Flash Player team, and one of the talented people behind the Linux Flash Player agreed to do an email interview with me about Linux and Flash. You can keep up to date on development for the Linux player over on the teams blog at http://blogs.adobe.com/penguin.swf.

SHARE:
4
linux_flash.jpgMike Melanson, the lead engineer on Adobe's Flash Player team, and one of the talented people behind the Linux Flash Player agreed to do an email interview with me about Linux and Flash. You can keep up to date on development for the Linux player over on the teams blog at http://blogs.adobe.com/penguin.swf.

Can you give us a little bit of your background? How you got into Linux, how you came to be involved in the Linux Flash Player?

I got into Linux when I wanted to use a free relational database called MySQL for a web project. I eventually went to Linux full time at home. Soon after, I realized I could not play Apple QuickTime movie trailers on Linux and wondered why. I started doing some homework and began contributing to, and occasionally leading, various multimedia-related open source projects and efforts, such as xine, FFmpeg, and MPlayer.

You've gotten a lot of attention from the Linux community, which I think shows there is an interest in getting Flash on Linux. What do you think of the response your blog has received?

Feedback from the community has been both positive and negative. In the beginning there was a bit of misinterpretation and negative feedback about my blog and the Linux Flash Player project. But, I realize it's inappropriate to judge the overall attention based on the reader feedback on Penguin.SWF.

I imagine (or rather hope) there is a large base of Linux users patiently following the blog, understanding that this development takes time, and that it's fortunate that Adobe is treating Linux as a first-class operating system in supporting the Flash platform.

Sometimes it appears that allowing comments on the blog is proving counter-productive. But many people across Adobe at various levels keep up with my blog and its comments. I think it's important for them to see all the comments in order to help evaluate how seriously the company needs to treat the Linux community on a forward-going basis. But one suggestion I would make to the community is to use the Adobe Wish Form to make specific feature requests, such as support for 64-bit and PowerPC platforms and alternate OS such as FreeBSD, so the comments are more productive.

How big is the team working on the Linux version of the Flash Player?

There is a core team working on porting and testing. There are various volunteers within the organization who have jumped into the effort out of general platform enthusiasm; and if we need any advice with particular areas, we bring in people from the rest of the Flash Player team as needed.

Of course, we're not making cheese sandwiches here. Throwing more programmers, any programmers, at the problem will not necessarily speed the process along.

What has been the toughest part of porting Flash Player 9 to Linux?

I would say the hardest part is selecting APIs that have broad coverage across distributions. Linux is a powerful platform that values diversity and choice of programming interfaces. This can sometimes conflict with the goal of creating software that is easily portable across different OS and distributions.

Why was there no version 8 of the Flash Player for Linux?

First, as the Linux community's agent on the inside I can tell you that I haven’t found any evidence to back the common sentiment expressed in my blog's comments that "Adobe hates Linux." Flash Player 8.5, which was renamed Flash Player 9 before its release, was always the target for the port because the timing between the v8 and v8.5 releases was relatively close. That was planned before I started at Adobe. Personally, I blame myself for not finding out about the job sooner.

You posted a list of APIs you're using in the Linux Player. Is this a final list? Why did you decide to go with these APIs? (Don't feel obligated to do every one, just the biggies - GUI, Graphics, Camera Input, and Audio)?

Many people fail to recognize that engineering is about evaluating trade-offs, not finding the perfect solution. The factors that drove our API decisions included existing code in previous versions of Linux Flash Players, API penetration, API reliability, API stability, and documentation availability.

For example, let's look at the most controversial point-- the audio API. We chose ALSA because it IS the standard Linux sound architecture. Plus, there is decent documentation and programming examples available, the API is reasonably solid at this point, and all Linux kernels have supported it for many years.

To evaluate another API decision -- cameras. We are sticking with the Video4Linux v1 API because the code is still there from Linux Flash Player 7 and we made it work in Player 9 with little effort. It has been threatened many times that the v1 support is being removed from the Linux kernel in favor of v2. However, most of the available camera drivers appear to support v1.

Thinking back to the responses you've gotten, what feature of the Flash Player do Linux users seem to want most? Video? Application development?

I think the feature most often requested is an open source Flash Player. A close runner-up for most requested feature is proper audio/video sync. And Linux users will get that this time around, thanks largely to the purging of the OSS audio API in favor of the Advanced Linux Sound Architecture (ALSA).

Is there anything that you don't think you'll be able to do with the Linux Flash Player that exists with the Flash Player version for Windows and Macs?

I operate from the position that Linux is as technically competent as other desktop operating systems. Thus, the Linux Flash Player should be able to do everything that the Windows and Mac versions can do. That said, there are still a few areas that are not quite solved, such as parity with the Express Install feature that could potentially make the Flash Player very easy to upgrade for the end user.

What are some of the challenges developing the player for multiple distros of Linux?

Testing and certifying base functionality for a release. Generally, when a piece of proprietary software is ported to Linux, the company only tests it and certifies that it works on a single version of a single commercial Linux distribution (often Enterprise Red Hat or SuSE). We would like the Linux Flash Player to be different; Flash Player needs to be a single binary that can reliably operate across any x86-based Linux distribution, subject to a (hopefully small) list of facilities that the host machine is expected to provide (e.g., ALSA and OpenSSL). While Adobe may only certify a select number of popular distributions as part of its release process, we would like it to "just work" for the others.

Big thanks to Mike for taking the time to answer my questions. Adobe has not announced an exact release date for the Linux Flash Player, but it is expected sometime early in 2007. You can follow the progress over at Penguin.SWF and make feature suggestions over on the Adobe Wish Form.

Topic: Operating Systems

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

4 comments
Log in or register to join the discussion
  • Support for alternate OS

    Main problem with FreeBSD is total lack of support/respect from Linux oriented companies- looks like they deliberately ignore request from BSD communities and spread FUD about BSD sudden death (linux.com and slashdot.org owner OSTG is obvious example). BSD-s are rapidly developed for desktop needs and projects like [b]PC-BSD[/b] and [b]DesktopBSD[/b] are showing that Linux is not only alternative to Microsoft Windows. Instead of ignoring Flash support requests from FreeBSD users, Adobe should make it at least compatible with Linux Compatibility Layer that is used in FreeBSD for running various Linux apps. Current LCL is based on Fedora Core 4 code and should meet desktop users needs. Of course I'd prefer native FreeBSD Flash, but if LCL is stable enough and won't crash on every complex flash site then go for it.

    [b]P.S.[/b] PC-BSD operating system is downloaded more than 150.000 copies, starting from version 1.0 and community is growing every day.
    antik
  • Yeah right

    If Adobe really thought that highly of Linux, the Linux Flash player would have been released at the same time as the Microsoft Windows version.
    #_z
  • The reason for open source

    The reason folks keep asking for open source does not appear to be understood by Adobe.

    It's clear that Adobe is not capable (true of most vendors) of providing adequate porting, support and testing. Folks use software on many different platform, and the only thing limiting them is closed proprietary products. With open source, Flash could be in use on the *BSD, OS/2, BeOS, x86_64, PPC, ARM and other platforms/OSs. It could also work *at release* when changes and customizations are made to those environments.

    In other words, Adobe is holding back development, which is what is driving the effort to develop an open source alternative. If Adobe wants to be the software provider of choice, they have to work with the open source community, not try to dictate to it.
    Mace Moneta
  • Well I for one am glad to see Flash

    Sometime we linux users are going to have to come to grips with the fact Linux is a great OS and people with great software want access to our box. Now I know there are "No closed source" people out there. But think about this. My friends kid will not us the linux laptop of his dad because his music for his IPod is not there. Now think everone.
    OldMarine