Tag Archives: firefox

Happy Birthday to you – MP3 Decoding Patent

According to Wikipedia  (and a related patent analysis site) MP3 decoding is now patent free in the US!  Also last night Happy Birthday was determined to be in the public domain!

Happy Birthday to you!
Happy birthday to you!
Happy birthday to that MP3 Decoding Patent!
Happy birthday to you!

Theoretically that  means we can include MP3 decoding by default in Ubuntu and other Linux distros.  I’ll leave that to legal teams to decide…

The Mozilla We’ve Got

This is a follow-up to The Mozilla I want from 2014 (same headings).  (I do post bugs and mailing lists links, but please don’t pile on them, that really doesn’t help)

DRM – Mozilla being played?

Nope, just non-Windows users being played so far [1]. I should have guessed with it being Adobe’s DRM that is being used that maybe Linux wouldn’t see the best support. It’s also depressing to me that Mozilla has given up on calling it what it is in some cases [2].

[1] https://support.mozilla.org/en-US/kb/enable-drm
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1155549

Abandon the DoNoTrack header, provide actual options

Mozilla has doubled down on DoNotTrack and our trying to get more companies to respect it with an add-on that blocks trackers if it’s not respected.  To be fair the EFF thinks this isn’t a lost cause either.. do they know something I don’t know here?  If anything it could be called DoNotMakeItAsObviousWeAreTrackingYou, that’s possible.

They’ve added DuckDuckGo as a preinstalled search engine!  Woot!

Push advertisers off of Flash (generally a good idea, but also will help with privacy – no flash cookies, etc) – Absolutely no progress on this[1] -The web is moving away from Flash and plugins but Mozilla is standing pretty still on pushing for it.  Guess Mobile and Chrome will get define this space.

[1] https://groups.google.com/forum/#!topic/mozilla.dev.tech.plugins/OmuCPoh5Fc0

SSL 3.0 – When will it go away?

That’s hilarious.  Really.   5 months or so after Mozilla removes the option to disable SSL 3.0 they have to make an add-on to disable it do to SSL 3.0 no longer being secure.

Could we just decide now to disable TLS 1.0 in 2018 or something? Maybe start warning about it in a year or so.  We know it has weaker security than TLS 1.2, so why wait until we have to do it in a panic?

Mobile – Firefox OS

I bought a ZTE Open C and it’s a cheap phone and had issues.  I’ve since given up on it and bought a ZTE Maven (Android 5.1) which I’m enjoying.  To be fair they both cost me about the same, but the Maven is a much better phone.

Mozilla hasn’t shipped a new version of Firefox OS since I bought the phone… Firefox 1.3 Released on 2014-03-17 is still the latest version (it’s 2015-08-01 today).  So much for the promised quarterly releases.  This isn’t even the harder “how long will you support this specific phone”, it’s just your schedule of releases.

[1] https://wiki.mozilla.org/Releases

Mozilla Adding unwanted things?

I really don’t mind Yahoo! Search (the new search widget rocks for using multiple search engines, imho), but adding Pocket just doesn’t make any sense to me.. oh well.

Signing add-ons I actually like and fully support.  What I didn’t like in that discussion was the idea that we can wait to figure out something for the enterprises, because they will be on the ESR release.   I’d prefer we try to bring everyone to be happy on the main release instead of making enterprises feel they really need to be on the ESR.

And Contributing!?

I’ve actual gotten my first (very very simple) patch into Firefox since my last blog post.  I’m hoping to do a bit more specifically around gstreamer.

Unfortunately, I’m feeling more like Chrome/Chromium provides a better and more secure out of the box experience for the average user today (Netflix, Flash updating, dropped NPAPI, much better video chat).   This is especially true on Linux.  It does help that Google has a specific platform (Chromebooks) that justifies investing heavily in it.

There is a lot of exciting stuff in the works (GTK3, wayland, electrolysis) and I’m going to at least stay around to see how that pans out.

Debug performance issues with strace

Have you ever been asked why is this program running so slowly?  Or why does it take 15 seconds to startup?

Strace might be the tool for you.  It’s a system call tracer which let’s you see what this program is requesting from the system. For example, if you run ls to a directory some key thins will be:
getdents(3, /* 47 entries */, 32768)    = 1928  (Get entries from a directory)
write(1, ..   (write out to stdout the output of ls)

You can add timing information to get more of an idea of what’s happening, I usually add:
-tt  (print absolute timestamps in usecs, very useful for comparing to nmap output for instance)
-T  (print time in each syscall)
-ff (follow forks, if it spawns other processes this will you separate them out to different files)

So run it all `strace -tt -T -ff ls’ and now it looks like:
14:09:10.747357 getdents(3, /* 48 entries */, 32768) = 1952 <0.000056>
14:09:10.747724 write(1, .....) = 57 <0.000031

Absolute time  syscall 

When using this on anything non-trivial, I suggest exporting it to a file (-o file).  You can also try analyzing it live as the long delays should cause strace output to stop.

I’ve got the strace output, it’s huge!  Now what?

Let’s start at the first one, which will be the lowest number, output_name.10001 for example. Check the time stamp at the top and the bottom, does it cover the time frame where you are investigating?  If so, dig in and find where the jump in time was.

In this example it was:
09:13:32.329980 write(1, "[2]... ", 7)  = 7 <0.000033>
09:13:32.330041 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 4}], 0, NULL) = 14963 <4512.975521>
10:28:45.305644 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14963, si_status=4, si_utime=0, si_stime=0} ---
10:28:45.305907 write(1, "[1]... ", 7)  = 7 <0.000036>

Or in other words, it’s really in that child process 14963 so let’s open up output_name.14963
Scroll throw to the first jump in time and we see:
09:13:20.418886 connect(5, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("")}, 16) = -1 ETIMEDOUT (Connection timed out) <127.317319>
... about 30 lines...
09:15:28.738327 connect(5, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("")}, 16) = -1 ETIMEDOUT (Connection timed out) <127.253925>
... many more lines here ...
10:26:37.977564 connect(5, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("")}, 16) = -1 ETIMEDOUT (Connection timed out) <127.326639>

So it’s timing out trying to connect to an IP address and then trying again over 10 times.  Using strace will help you the most when the wait is caused by something on the system level (disk, networking, etc).

Adobe Flash on Firefox/Linux EOL – Summary

We just ran a session [1] on what to do about the upcoming EOL for Firefox/Linux in 2017.  In short, we’re not planning to diverge from Mozilla’s direction.   The goal is to have Flash work today, and to become irrelevant over time.    Hopefully reaching the point of being irrelevant by 2017.  There are ways for you to help!  See below.

Distributing Firefox and Chrom/ium plugins now possible

A deal was reached with Adobe to distribute NPAPI and PPAPI Flash in Canonical Partners Repo!  (No more grabbing PPAPI from Chrome to get it to work in Chromium. No more “downloader” packages necessary for Firefox either.)  This should help make thin

How can you help make Flash go away?

On any browser, any platform (that has Flash of course)

Use less Flash.  See if you can do step 1.  If you can proceed to step 2, etc.

  1. Make Flash Click to Play.
  2. Disable Flash.
  3. Uninstall Flash.

To do these on Chrome, browse to chrome://plugins/,  On Firefox go to Add-ons -> Plugins.

If their is a site that doesn’t work without Flash, see if you can load their site on a mobile device.   Either way contact them and ask them nicely about removing the Flash content to get more hits, or for enabling at least the mobile site for non Flash users.

Run a Beta browser

Generally both Firefox and Chrome will push new web technologies in their Beta browser.  Many of them have the potential to help make Flash less relevant.   Help make them more stable by testing them!



Run Firefox Nightly

Try running Firefox nightly.   We could always use more testers.  Specifically, we might get a more aggressive Mozilla when MSE is done being implemented (which should make youtube even more HTML5 video friendly).

Of course, there a bunch of other useful features Mozilla is working on to make browsing better.   Help would be welcome there too!  Report bugs on issues you have.



Other options considered.

  • We default to Chromium  – nope, let’s specifically NOT switch browsers over Flash. 
    • Outcome: That would send the completely wrong message.
  • We default to a compatible Flash alternative (Shumway, Gnash, Lightspark)
    • Outcome: That would just be a stop gap measure.  And we’ll always be playing catchup.
  • We add PPAPI support to Firefox ourselves / Hack it in
    • Outcome:  Non-starter.  Unless Mozilla adds it we don’t want the maintenance burden.

My Todo List

  • Investigate why Youtube Live videos sometimes don’t work without Flash. (Even in Chromium).
  • Figure out why my Nightly install doesn’t have working H264..
    UPDATE – because it’s not designed to yet!  See here – http://andreasgal.com/2014/10/14/openh264-now-in-firefox/
    If you have H264 working in Firefox it’s likely due to GStreamer support included in the Ubuntu (and many other distros) builds.  Upstream Gst1.0 support is waiting on infrastructure [3].

Hopefully I captured everything right.. but if I didn’t please let me know!

[1] http://summit.ubuntu.com/uos-1411/meeting/22354/adobe-flash-on-firefoxlinux-eol/
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1083588 testers wanted, run Firefox nightly
[3] https://bugzilla.mozilla.org/show_bug.cgi?id=973274  Have RHEL 6.2 experience?  Might be useful there..
  – thread discussing how Firefox can be more aggressive against Flash.