Tag Archives: firefox

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!

https://www.google.com/chrome/browser/beta.html

https://www.mozilla.org/en-US/firefox/channel/

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.

https://nightly.mozilla.org/

[2][3][4]

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.

The Mozilla I want

Somewhat a response to
https://webwewant.mozilla.org/en/
https://blog.mozilla.org/blog/2014/05/14/drm-and-the-challenge-of-serving-users/
https://fsf.org/news/fsf-condemns-partnership-between-mozilla-and-adobe-to-support-digital-restrictions-management

NOTE: These are more personal opinions and not necessarily those of my employer, your employer, or any of the businesses and government in my town,city, state, country.

DRM

It is *never* something people want.  Have you ever heard someone say “I really want this content I bought/”rented” to be harder to share/remix/watch and to have even greater legal ramifications if I do so?”  They do want content made by Hollywood, but those are different things.

DRM – Mozilla being played?

This reminds me of the time Chrome said it would drop H264 [1].   From what played out in public it seemed that Mozilla didn’t see the need to push for H264 sooner because they trusted Google to actually drop H264 support.

In a somewhat reverse situation, Mozilla just said they will adopt EME in Firefox before any of the possible benefits are realized by others.  Right now it’s being implemented only in Chrome and IE 11 [2], and I’ve only seen it used in Chrome OS and IE 11.   From my point of view I would have preferred if Mozilla had at least waiting to see if we will get more platform support from major vendors on this.  (aka Linux support for Netflix)

If so, maybe the increase in Linux market-share would provide some balance to the DRM’s negative affects.  Making free software overall a net win.   If so, I would (still reluctantly) support Mozilla’s decision here if they saw it as an end to get Hollywood media to more freer platforms.   But why not wait and see if this is actually true with Google Chrome/Netflix on Linux?

[1] http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html
[2] http://html5test.com/compare/feature/video-drm.html

Reduce “Hollywood” power

I would like to see Mozilla pushing Indie/Crowdsourcing media, like:
Paid streaming site for indie videos https://indieflix.com/
Public broadcasting http://www.pbs.org/
Better publishing http://www.getmiro.com/
Basically, How can Mozilla use it’s capabilities to better change the media landscape?  (A slightly “better” form of DRM should not be the answer to this question).

Abandon the DoNoTrack header, provide actual options

It doesn’t work (and almost certainly never will) and it gives people a false sense of doing something.   You are giving advertisers another data point to track!  It literally does the opposite of what is supposed to.

Instead!

  •  Finish blocking 3rd party cookies (https://blog.mozilla.org/privacy/2013/02/25/firefox-getting-smarter-about-third-party-cookies/)
  • Promote (by adding it as a search option, etc) providers that promise to not track ANY of their users.   DuckDuckGo being the most obvious example.
    Their is so little difference between Yahoo and Bing search.. and DuckDuckGo is a damn good search engine[2].
  • Push advertisers off of Flash (generally a good idea, but also will help with privacy – no flash cookies, etc)
    Generally I’m supportive of the Click-to-play, etc initiatives Mozilla has taken thus far.  Flash is the exception to that rule.   Here’s the outline of a plan to push advertisers off of it. (the numbers are obviously made up for illustrative purposes)

    1. Start forcing Click-to-play for Flash when the site has more than 6 plugins running (pick some “high” number, and count all plugins, not just flash)
    2. Reduce the number of plugins to 5, after some number of Firefox releases or some specific Adobe Flash counting metric.  Repeat pushing to 4, etc.
    3. Once advertisers get on board and Flash ads aren’t served by the big advertisers, now we can push Flash to click-to-play at 2 instances per page.
    4. Once flash usage drops under 5% [1], we’d be able to push it to default click-to-play for all Flash.

[1] http://w3techs.com/technologies/details/cp-flash/all/all
[2] http://libretechtips.com/reviews-internet/duckduckgo-comparison-google-bing-yandex

SSL 3.0 – When will it go away?

You’ve removed the (easy) option to disable it.  When will it go away for good?  Why does Chrome let the user see what protocol version (TLS 1.2 vs 1.0, etc) their users are using, but Firefox doesn’t?

Mobile – Firefox OS

Well I work at a direct competitor in mobile… but not actually working with our phone product..

  • Launching just with Facebook contact sync well, isn’t very open and totally goes against promoting those that respect your same values.
  • I get that you can’t magically make the devices more open, but at least can we get public commitments for how long a device will be supported for?  And how often it will get Firefox OS updates?
  • I wish you had used Thunderbird as Firefox OS’s email client… I think that would let it scale really really well and give you a new reason to push features there.. Maybe you are under the hood?

If you’re reading this and don’t know, you can try out Firefox OS (“Boot2Gecko”) on your desktop too! (https://nightly.mozilla.org/)

End on a positive note..

I love the new Firefox interface.  It’s awesome and makes customizing the browser much better.   I’m a nightly user and teach courses on Firefox.  I’m not going anywhere (fast) over the DRM decision.  Going to keep doing what I do and see how it pans out…