Loud ramblings of a Software Artisan

Saturday 4 March 2017

Link: The Story of Firefox OS

Just a plain linkage to The Story of Firefox OS by Ben Francis. Ben retell the story so much better than I well ever be able to.

I’m incredibly proud of what we achieved with Firefox OS. If you measure its success against the original stated goals I think the project went way beyond its initial objectives. We went beyond a technical prototype to successfully ship 20 different commercial devices in over 30 countries, including smartphones and smart TVs. Apart from the incredible feats of engineering, prototyping 30 new APIs for the web platform and building possibly the most complex JavaScript codebase ever created, we built a mobile operating system from scratch and got it to market in less than two years. As far as I know no other team has ever done this.

I worked on Firefox OS for several years as well (I arrived on the project some time after Ben did) until mostly its end. I noticed there was a lot of misunderstanding in what the goal was, and a lot of questions. To me it was a great effort that tried to disrupt the market by opening the silos of mobile applications, using the web, trying to become the third mobile OS. A project a lot of people didn't think fit in Mozilla's mission. Its conclusion was much personal sadness.

Also remember, unlike Android, Firefox OS was developed in the true open source way: in the open, with community participation, and not behind closed doors with a code drop at each release, stripped down of features.

Sunday 6 March 2016

No Flash 0.5.1

I released No Flash 0.5.1 to fix a few bugs:

  • Identify more YouTube embedding corner cases like youtube-nocookie (Issue 44)
  • Update the SDK to fix issues with recent Firefox (44 and up)

It is available on AMO now.

Thursday 9 July 2015

No Flash 0.5 - still fighting the legacy

Last week I released No Flash 0.5, my addon for Firefox to fix the legacy of video embedding done with Flash. If you are like me and don't have Flash installed, sometime you encounter embedded video that don't work. No Flash will fix some by replacing the Flash object with a HTML5 video. This is done using the proper video embedding for HTML5.

This version brings the following:

  • Work on more recent Firefox Nightlies with e10s - it was utterly broken
  • Add support for embedded Dailymotion.

Also still, supports vimeo and YouTube - the later being extremely common.

Update: please file issues in the issue tracker.

Wednesday 4 June 2014

Hack the web: No Flash

I am a hipster Flash hater. I hated Flash before Steve Jobs told it was bad. I hate Flash before Adobe said there would be no Flash 7 for Linux. I don't have Flash on my machine. I even coined "fc;dw".

I have been muling over an idea for far too long, and an enlightning conversation with fellow Mozillians made me do it Tuesday night.

I therefor introduce a proof of concept Firefox add-on: No Flash.

The problem: there are a lot of pages around the web that embed video from big name video website, like Youtube and Vimeo. These pages might use, more often than not, the Flash embedding, either because they predate HTML5, or they use a plugin for their CMS (Wordpress) that only does that. Getting these fixed will be a pointless effort. On a positive note, it appears that Google own blogspot modified the embedding of the Youtube content they serve already.

So let's fix this on the client side.

Currently the addon will look for embedded Flash Youtube and Vimeo players and replace them in the document by the more modern iframe embedding. This has the good taste of using the vendor detection for the actual player.

Note that this is, in some way, similar to what Safari on iOS does, at least with Youtube, where they replace the Flash player with the system built-in one.

Before:

No Flash Before

Notice the Flash placeholders - I don't have Flash.

After:

No Flash After

Note the poster images.

Feel free to checkout the source code

Or file issues

Friday 11 October 2013

Reaching the summit

Even the coffee cups are personalised. #MozSummit

Last week-end, Mozilla held its summit in 3 locations: Santa Clara, Toronto and Brussels. The summit is where contributors paid (employees) or not (volunteers) meet and discuss the future of Mozilla and how we are gonna help shape the web. We call them (ourselves) Mozillians.

I attended in Brussels and it was for me the occasion to meet fellow Mozillians for the first in face to face, and to meet other I had never interacted with. I'm reaching my two years as a Mozillian (and paid contributor) and I see a huge value in this. I found that we have a very friendly and vibrant community, spread across the globe, people passionate about the web, passionate about the users and the future of the web, from developers, designers, artists, translators to evangelist, marketing and administrative support. The full spectrum was represented.

I can't wait to attend the next Mozilla summit, in the mean time I'll attend the Gnome Summit that is being held tomorrow in the city I call home: Montréal.

Also I need to go through the 1900 pictures I took during the event. In the mean time you can watch that set on Flickr that contain the stuff I posted on Instagram almost immediately, as well that the Flickr group Mozilla Summit 2013 I created to pool the pictures from other users (feel free to add yours if you haven't already).

Monday 16 July 2012

Accessible Mac Firefox (Aurora) 16

Firefox 16 uplift to Aurora is today. This version will have Accessibility enabled on Mac, finally, but you must either force enable or use VoiceOver. It should work for basic tasks, albeit there is some serious performance problems with VoiceOver I'm investigating.

Also, coming soon for Firefox 17: handling properly image maps.

Wednesday 20 June 2012

Firefox Mac accessibility update

Some update about Firefox accessibility on Mac:

  • Accessibility on Mac has been disabled in Aurora 15 (and Nightly) shortly after the uplift early June. This was done because accessibility seemed to be instanciated for more than just accessibility clients, causing several unforeseen performance issues.
  • Accessibility on Mac has been re-enabled in last night Nightly 16 build for Mac. The changes are that now we whitelist VoiceOver before starting accessibility on the Mac. We also added a switch in about:config to force enable (bypass the white listing) or disable.
  • I have a current patch queue that include dealing with tab panels properly (bug 750612), text reading (bug 718625) and WAI-ARIA landmarks (bug 718700).

Using about:config: accessibility.force_disable. This option has 3 values:

  • 0 (default): do as usual
  • 1: disabled. Accessibility will not be started.
  • -1: force enabled. Accessibility will always start when requested, even without voice over.

This also works on Windows (the value -1 is unused) and soon on Linux with atk (I have to finish it)

I hope to get more rolling before we uplift Aurora 16.

Thursday 29 March 2012

Building b2g on Fedora. Field notes - part 2

See part 1 if you haven't.

As of this week, some changes in b2g cause more breakage in the build process on Fedora. Plus some various bugs.

First, if when doing the make config-galaxy-s2 you get the following error:

cp: cannot create regular file `../../../vendor/samsung/c1-common/proprietary/etc/mdnie_tune_bypass_mode': No such file or directory

in the B2G directory, do a

mkdir ./glue/gonk/vendor/samsung/c1-common/proprietary/etc

and try again.

Also, make gonk will want to run a pre-build xulrunner in 32-bits

  • freetype.i686
  • fontconfig.i686
  • alsa-lib.i686
  • dbus-glib.i686
  • pango.i686
  • gtk2.i686
  • libXt.i686

Ideally, the fix would be to actually get a 64-bits xulrunner instead. Patches welcomeâ„¢ I was told. On your copious-spare-timeâ„¢.

Tuesday 13 March 2012

Building b2g on Fedora. Field notes

Yesterday I tried and successfully built b2g on Fedora 16 x86_64, targeting the emulator. These are my notes on how to do it as the instructions to setup the build environment are very Ubuntu centric.

The prebuilt binaries expect to be on a 32-bits system. So we are gonna need to install 32-bits packages. Also there is a requirement to have adb to boostrap (it is built afterwards). Fortunately you can skip installing the SDK for the bootstrap and use the Fedora package android-tools that provides adb.

The packages you need, that will also pull the proper dependencies are:

  • glibc.i686
  • glibc-devel.i686
  • libstdc++.i686
  • ncurses-devel.i686
  • readline-devel.i686
  • zlib-devel.i686

To run qemu:

  • libXrandr.i686

You also need the usual requirements to build Firefox as well as git. Install these using yum.

Then follow the build instructions to build on QEMU.

Enjoy !

(dont forget part 2)

Thursday 8 March 2012

CSUN 2012 conference

Last week I was in sunny San Diego, CA at the 27th CSUN accessibility conference, part of the Mozilla delegation along with Eitan and Marco. So was a very enlightening event. I'm quite new to accessibility technology and what I saw is an even greater reliance on technologies, for the good and the better.

Beside the usual important work on web accessibility, there was also in multiple occasions discussions about repurposing tools for accessibility need. One concrete example is Google Goggles. This app for Android always seemed to me to be a gadget, but in fact it has proven to be a pretty convenient tools for things like reading bank notes (the US dollar notes don't have braille, unlike the Canadian one). Or face detection in a cell phone camera to take a picture: the framing guided by voice.

Another use was Google own Google+ hangout[1]. Google hangout is for live conversation using sign language. There is in fact a lot of work done to make the video fluid and good enough for that. Video fluidity was also an argument presented by the Apple marketing manager when talking about iOS and FaceTime. Some fantastic stuff.

Android accessibility is a different story. It seems that there is a large difference between 2.3 and 4.0 in term of support, where 4.0 (Ice Cream Sandwich) is going way further. One of the major change is that now accessibility is required for the Android Google Marketplace lock-in. No more stripped down like it was on the Asus Transformer running 3.2. It is unclear however if the skinning that Samsung Touchwiz or HTC Sense UI will be required to be accessible: as it is now, HTC Sense UI actually is forcing to root the phone and have Cyanogen Mod installed in order to be accessible. Also I had a chance to see Eitan's work in Firefox for Android accessibility.

Things I saw: a demo of Windows 8 on a tablet with IE 10. They have accessibility built into with touch discovery and gesture, and video subtitle and captions. I also happen to have tried for the first time a Windows Phone 7 phone and saw a second one on the plane (bound to SEA). iOS devices seems to dominate and the reason is that their approach to accessibility from the ground up is probably the best on the market for non market-specific devices. And they also support bluetooth Braille readers.

It was good to meet with everybody, Ryan, Jenisson, Laura, Kevin, Sina, Victor, Carol, Matt, Richard, Matt, Eitan, Marco, Rainer, Steven, Henny, Denis, Sylvain, Arnaud, TV, Naomi, James, Alice and the rest of the Google team, and many other fantastic people I possibly forget.

I felt so much energy in that conference. So many good things happening. So many to come.

Notes

[1] yes, I also trolled them at the end about the name policing and Nymwars, I had too, and some people thanked me for that

Friday 20 January 2012

Firefox accessibility

Since I joined the accessibility team at Mozilla I took on one of the task that was in need to be solved: bringing back accessibility in Firefox on Mac as it has been lagging behind.

Marco already wrote about how things are ramping up and started filing more bugs on what is broken in the build I provided.

With the quick release cycle, I can't really commit on which Firefox version this will be in, but the code is current in Nightly, aka Firefox 12, except that on Mac we don't build with accessibility enabled yet.

Friday 28 October 2011

New adventures

Today was my last day on iWorkâ„¢. I'd like to thanks my team for these last two years and wish them the best, it was fantastic.

Monday will be the beginning of new adventures, at Mozilla. I'll be in Toronto the first week, but will be based in Vancouver.