mozilla

Mozilla Nederland LogoDe Nederlandse
Mozilla-gemeenschap

Abonneren op feed Mozilla planet
Planet Mozilla - http://planet.mozilla.org/
Bijgewerkt: 14 uur 59 min geleden

Jared Wein: eslint updates for Firefox developers

di, 10/01/2017 - 16:26

In the past week there has been quite a lot of progress made on the eslint front.

Last week I enabled the following rules for the default mozilla-central eslint configuration (/toolkit/.eslintrc.js):

Mark Banner has continued to work on fixing the remaining no-undef errors. This work is on-going and is being tracked by a meta bug.

Florian Quèze just landed a patch yesterday to simplify calls to Services.io.newURI so the two trailing arguments are optional. Previously 99% of the calls to the function passed in null for the trailing arguments. Florian is planning on cleaning up some addEventListener code as well and I am pushing for him to implement special eslint rules along with them to help enforce these changes going forward.

I enabled most of the rules for eslint and gathered counts of the number of errors related to each rule. The following list shows each disabled rule along with the number of associated errors as of mozilla-central revision f13abb8ba9f3:

  • array-callback-return = 3
  • no-new-func = 13
  • no-useless-concat = 14
  • no-void = 14
  • no-multi-str = 15
  • no-new-wrappers = 18
  • no-array-constructor = 20
  • no-eval = 20
  • no-await-in-loop = 21
  • no-sequences = 22
  • no-inner-declarations = 23
  • no-unmodified-loop-condition = 24
  • wrap-iife = 25
  • no-constant-condition = 28
  • no-template-curly-in-string = 39
  • no-loop-func = 44
  • no-fallthrough = 51
  • no-new = 56
  • no-throw-literal = 134
  • no-prototype-builtins = 158
  • no-caller = 165
  • no-unused-expressions = 171
  • no-useless-escape = 194
  • complexity = 208
  • no-case-declarations = 238
  • guard-for-in = 284
  • radix = 342
  • no-shadow = 356
  • no-eq-null = 442
  • dot-notation = 459
  • default-case = 485
  • block-scoped-var = 749
  • no-empty-function = 1144
  • dot-location = 2327
  • no-extra-parens = 2464
  • no-invalid-this = 2947

If you would like to work on fixing any of these, please file a bug in the Toolkit :: General component of Bugzilla and request review from myself, Mossop, or Standard8.

If you’d like eslint to run on a directory that you work in, remove the reference to it from the .eslintignore file located at the mozilla-central root and add a .eslintrc.js file. This will now allow eslint to scan that directory.

Also, another project that someone can pick up is to help us move towards a single rule definition. We would like to move to a single set of rules which will help for consistent coding styling. You can look at this listing of .eslintrc.js files to see the differences between them. Some define globals that are unique to the directory or have different include paths to the root configuration, but some also define extra rules. We would like to get those rules added to the root configuration, though we haven’t determined how to settle rule conflicts yet.


Tagged: eslint, firefox, mozilla, planet-mozilla
Categorieën: Mozilla-nl planet

David Lawrence: Happy BMO Push Day!

di, 10/01/2017 - 16:07

the following changes have been pushed to bugzilla.mozilla.org:

  • [1328665] Two issues with Project Review form for RRAs
  • [1307478] Elasticsearch Indexer / Bulk Indexer
  • [1328650] Update HRBP list in Recruiting Product
  • [1209242] Can’t locate object method “_reverseoperator” via package “Bugzilla::Search” at /data/www/bugzilla.mozilla.org/Bugzilla/Search.pm line 3134.
  • [1280388] [a11y] Make the bug summary a heading level 1

discuss these changes on mozilla.tools.bmo.


Categorieën: Mozilla-nl planet

Mozilla Reps Community: Rep of the Month – December 2016

di, 10/01/2017 - 15:09

Join us to congratulate Srushtika as Rep of the month for December.

Srushtika is an undergraduate student in her final year. She describes herself as “Tech-Speaker at Mozilla that loves speaking and advocating new technologies that could change the way we spend our lives.” But she is so much more than that. During the last few months she has been working along with Ram on building the local Indian WebVR community. She has also created MozActivate best practices while she is also working on an intro guide for newbies in WebVR events based on Rust guides.

Srushtika with a VR headset on her head

Moreover, she is heavily involved on shaping the Campus program and suggesting activities for campus students. All the above gained her a mention on the VR/AR inspirations of 2016 blogpost. When she is not studying or contributing to VR, Srushtika is helping the privacy month team from India on advocating about privacy in social media. Check them out on #privacymonth.

Congratulations Srushtika, you’re a true inspiration to all of us. Keep on rocking! Please join us in congratulating her over at Discourse!

Categorieën: Mozilla-nl planet

Gervase Markham: Modern Communications

di, 10/01/2017 - 12:33

I just sent something very like the following to someone buying a house from me:

This text is to tell you that I just emailed you a PDF copy of the fax my solicitor just sent your solicitor, containing the email he originally sent last week which your solicitor claimed he didn’t get, plus the confirmation that the fax was received.

Categorieën: Mozilla-nl planet

Brian Birtles: Web animation in 2017

di, 10/01/2017 - 09:11

Happy new year! As promised I thought I’d share a few of the Web animation things I’m looking forward to in 2017. I’m terrible at predicting the future (I used to be a believer in BeOS and VRML) so this is mostly based on what is already in motion.

Specs:

  1. CSS transitions – this should move to CR status soon. Part of that involves splitting off a separate Timing Functions spec. That separate spec would give us:
    • Level 1: An additional frames() timing function to do what step-end and step-start should have done in the first place.
    • Level 2: Low-level syntax for export of complex timing functions (multi-segment béziers?), spring timing functions, script-defined timing functions, and perhaps even timing functions that affect the duration of animations.
  2. CSS animations – this too should move to CR soon. All that is really missing is some clarification about the liveness of values and some text about how @keyframes rules cascade. Then we can start work on new things in level 2 like animation-composition.
  3. Web animations – this too is approaching CR and I hope we can ship (most of) the remainder of the API in the first half of this year in Firefox and Chrome. For that we still need to:
    • Add a FillAnimation concept to allow browsers to compact finished but filling animations so they don’t keep consuming memory. This is a bit hard, but seems do-able.
    • Simplify the timing interfaces to use fewer live objects and make the interface consistent with keyframe interfaces. I hope this will simplify the implementation for Edge and Safari too.
    • Add compositeBefore and compositeAfter methods to control how animations combine and overlap.
    • Replace SharedKeyframeList with StylePropertyMaps from Houdini.
    • Integrate a few tweaks to making specifying keyframes more flexible.

    I’m looking forward to shipping additive animation soon since it helps with a lot of use cases, but it really needs FillAnimation first.

    getAnimations is also exciting—being able to inspect and manipulate CSS animations and transitions from the same API—but probably won’t ship until the second half of the year when we have the mapping between CSS and Web Animations clearly specified.

    Being able to ship the finished and ready promise would be great but was blocked on cancelable promises being realized and now it’s not clear what will happen there.

  4. Scroll-driven animations – This is going to take quite a bit of work to get right, but hopefully within this year we can start shipping parts of it so you can create hidey bars and parallax effects that run smoothly on the compositor.
  5. AnimationWorklet – This is also going to take time to make sure it plays well with the other animation pieces in the platform but fortunately the Chrome folks pushing it have been very responsive to feedback and admirable in their willingness to rethink ideas.

At Mozilla, apart from editing and implementing the above specs, some of the bigger animation items I anticipate this year include:

  1. Making our current animation features work with Quantum CSS (introduction), i.e. Servo’s style engine. This involves a lot of tricky plumbing but it means Firefox gets faster and Servo gets more spec compliant.
  2. CSS offset (aka CSS motion). We’ve been putting this off for a while as the spec stabilizes but I hope this year we will actually do it.
  3. Promoting various SVG attributes to properties. Tackling this and the previous item would significantly narrow the gap between CSS and SVG’s (SMIL) animation features and let us simplify the SMIL code a lot.
  4. Animation of CSS custom properties. There are patches written but they need some work before they land.
  5. DevTools. We have plenty of ideas here but most of all we want to make our animation DevTools the place to go not just to debug all the above features, but also to author for them!

If any of those items sound interesting to you, please get involved!


Categorieën: Mozilla-nl planet

This Week In Rust: This Week in Rust 164

di, 10/01/2017 - 06:00

Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and community. Want something mentioned? Tweet us at @ThisWeekInRust or send us a pull request. Want to get involved? We love contributions.

This Week in Rust is openly developed on GitHub. If you find any errors in this week's issue, please submit a PR.

Updates from Rust Community News & Blog Posts Other Weeklies from Rust Community Crate of the Week

This week's Crate of the Week is trust, a Travis CI and AppVeyor template to test your Rust crate on 5 architectures and publish binary releases of it for Linux, macOS and Windows. Thanks to Vikrant for the suggestion!

Submit your suggestions and votes for next week!

Call for Participation

Always wanted to contribute to open-source projects but didn't know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!

Some of these tasks may also have mentors available, visit the task page for more information.

If you are a Rust project owner and are looking for contributors, please submit tasks here.

Updates from Rust Core

112 pull requests were merged in the last week. This contains a good number of plugin-breaking changes.

New Contributors
  • derekdreery
  • F001
  • Kyle Aleshire
  • Mina Naguib
  • Yamakaky
Approved RFCs

Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:

Final Comment Period

Every week the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now. This week's FCPs are:

New RFCs Style RFCs

Style RFCs are part of the process for deciding on style guidelines for the Rust community and defaults for Rustfmt. The process is similar to the RFC process, but we try to reach rough consensus on issues (including a final comment period) before progressing to PRs. Just like the RFC process, all users are welcome to comment and submit RFCs. If you want to help decide what Rust code should look like, come get involved!

Ready for PR:

There's a lot of them right now, contributions here would be very welcome. If you want advice or help getting started, please ping nrc, or any other member of the style team, in #rust-style.

Issues in final comment period:

Upcoming Events

If you are running a Rust event please add it to the calendar to get it mentioned here. Email the Rust Community Team for access.

fn work(on: RustProject) -> Money

Tweet us at @ThisWeekInRust to get your job offers listed here!

Quote of the Week

This is the first version to have Rust code in it. The public API remains unchanged. Apologies in advance to distros who will have to adjust their build systems for Rust - it's like taking a one-time vaccine; you'll be better off in the end for it.

Federico Mena Quintero announcing librsvg 2.41.0.

Thanks to Zbigniew Siciarz for the suggestion.

Submit your quotes for next week!

This Week in Rust is edited by: nasa42, llogiq, and brson.

Categorieën: Mozilla-nl planet

James Long: A Prettier JavaScript Formatter

di, 10/01/2017 - 01:00

Today I am announcing prettier, a JavaScript formatter inspired by refmt with advanced support for language features from ES2017, JSX, and Flow. Prettier gets rid of all original styling and guarantees consistency by parsing JavaScript into an AST and pretty-printing the AST. Unlike eslint, there aren't a million configuration options and rules. But more importantly: everything is fixable. I'm excited to have time for my own open-source work now that I've left Mozilla, so this is my way of kicking off 2017.

Here's a live demo. Note the JSX and Flow support. You can type anything into the editor below and it will format it automatically. The maximum line length here is 60. The top editor is the raw source and the bottom is the formatted version.

(The above demo is running with prettier version )

Many of you know that I usually don't use JSX when writing React code. Over a month ago I wanted to try it out, and I realized one of the things holding me back was poor JSX support in Emacs. Emacs has great support for automatically indenting code; I never manually indent anything. But this doesn't work with JSX, and when I looked around at other editors, I found similar problems (other editors are generally worse at forcing correct indentation).

Around the same time I had been using Reason which provides a refmt tool which automatically formats code. I was hooked. It removes all the distractions of writing code; you can write it however you like and instantly format it correctly. I realized this would not only solve my JSX problem, but provide a tool for enforcing consistent styles across teams no matter what editor is used.

If computers are good at anything, they are good at parsing code and analyzing it. So I set out to make this work, and prettier was born. I didn't want to start from scratch, so it's a fork of recast's printer with the internals rewritten to use Wadler's algorithm from "A prettier printer".

Why did I choose this algorithm? First lets look at why none of the existing style tools really work.

There's an extremely important piece missing from existing styling tools: the maximum line length. Sure, you can tell eslint to warn you when you have a line that's too long, but that's an after-thought (eslint never knows how to fix it). The maximum line length is a critical piece the formatter needs for laying out and wrapping code.

For example, take the following code:

foo(arg1, arg2, arg3);

That looks like the right way to format it. However, we've all run into this situation:

foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());

Suddenly our previous format for calling function breaks down because this is too long. What you would probably do is this instead:

foo( reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne() );

This clearly shows that the maximum line length has a direct impact on the style of code we desire. The fact that current style tools ignore this means they can't really help with the situations that are actually the most troublesome. Individuals on teams will all format these differently according to their own rules and we lose the consistency we sought after.

Wadler's algorithm described in the paper is a simple constraint-based layout system for code. It "measures" code and will break it across lines if it cross the maximum line width.

Even if we disregard line widths, it's too easy to sneak in various styles of code in all other linters. The most strict linter I know happily lets all these styles happen:

foo({ num: 3 }, 1, 2) foo( { num: 3 }, 1, 2) foo( { num: 3 }, 1, 2 )

Prettier bans all custom styling by parsing it away and re-printing the parsed AST with its own rules that take the maximum line width into account, wrapping code when necessary.

Respecting Patterns

A lot of work has been put into making prettier actually viable. The output is already very good, and I'm sure there are more tweaks we can make to make everyone happy.

We make sure to tailor code to specific patterns. For example, this is a popular style in JavaScript:

myPromise .then(() => { // ... }) .then(() => { // ... }) .catch(() => { // .. });

A naive printer would collapse it into something like this:

myPromise.then(() => { // ... }).then(() => { // ... }).catch(() => { // .. });

However, we detect this "chaining" pattern and specifically output the original code where each .then is on its own line.

If you are using a pattern that prettier does not format well, please open an issue and we can talk about ways to detect this and specialize it for your case.

Frictionless Teams

When working in a team, reducing friction is important. This is especially true on large teams. While it's impossible to avoid friction entirely, the more we can leverage tools to make it easier to work together the better.

You might think configuring eslint doesn't take much time, or that teams won't spend much time arguing about syntax. In my experience, that's not true. Even if you've configured eslint out the wazoo, it doesn't actually catch a whole range of style differences. Teams still struggle to enforce a consistent style and it's a big distraction.

The minutiae of syntax does not matter. Let it go. Let a tool like prettier just do it's job and focus on the real problems.

Freedom

It turns out that a tool like prettier actually makes it easier to write code however you want, because you can instantly format it correctly afterwards!

Don't care about writing semicolons? Sure! Go ahead and write this:

function foo() { var x = 5 var y = 6 var z = 7 return x + y + z }

Paste that into the demo at the top and you'll see prettier happily inserts the semicolons for you.

Working on a really complex problem and just want to focus on writing some dirty code? Sure! Put it all on one line. Indulge yourself in dirty syntax. Formatting it correctly is just one keystroke away.

Check out prettier!

Thanks to:

  • Christopher Chedeau for pushing me to make this actually viable and setting up the Jest test suite
  • Pieter Vanderwerff for discussing solutions as he works on a similar project
  • Jordan Walke for writing refmt in the first place and inspiring this



Categorieën: Mozilla-nl planet

Christian Heilmann: 7 tricks to have very successful conference calls

di, 10/01/2017 - 00:07

Conference Call

I work remotely and with a team eight hours away from me. Many will be in the same boat, and often the problem with this is that your meetings are late at night your time, but early for the others. Furthermore, the other team meets in a room early in the morning. This either means that they are fresh and bushy tailed or annoyed after having been stuck in traffic. Many different moods and agendas at play here. To avoid this being a frustrating experience, here are seven tips any team in the same situation should follow to ensure that everyone involved gets the most out of the conference call:

  • Be on time and stick to the duration – keep it professional – of course things go wrong, but there is no joy in being in a hotel room at 11pm listening to 6 people tell each other that others are still coming as they are “getting a quick coffee first”. It’s rude to waste people’s time. The meeting time should be information and chats that apply to all, regardless of location and time. You can of course add a social part before or after the meeting for the locals.
  • Have a meeting agenda and stick to it – that way people who have a hard time being part of the meeting due to time difference can decline to come to the meeting and this may make it shorter
  • Have the agenda editable to everyone available during the meeting – this way people can edit and note down things that have been said. This is beneficial as it acts as a script for those who couldn’t attend and it also means that you can ensure people remotely on the call are on the ball and not watching TV
  • Introduce yourself when you speak and go close to the mic – for people dialing in, this is a feature of the conference call software, but when 10 people in a room speak, remote employees who dialed in have no no idea what’s going on.
  • Avoid unnecessary sounds – as someone dialing in, mute your microphone. Nobody needs your coughing, coffee sipping, or – at worst – typing sounds – on the conference call. As someone in the room, don’t have conversations with others next to the microphone. Give the current presenters the stage they deserve.
  • Have a chat window open – this allows people to post extra info or give updates when something goes wrong. It is frustrating to speak when nobody hears you and you can’t even tell them that it doesn’t work. A text chat next to the conf call hardly ever fails to work and is a good feedback mechanism
  • Distribute presenter materials before the call – often presenting a slide deck or web product over Skype or others fails for various reasons or people dialing in are on a very bad connection. If they have the slide deck locally, they can watch it without blurs and delays

Using these tricks you end up with a call that results in a documented agenda you can send to those who couldn’t attend. You can also have an archive of all your conf calls for reference later on. Of course, you could just record the sessions, but it is much more annoying to listen to a recording and it may be tough to even download them for remote attendees on bad connections. By separating the social part of the meeting from the official one you still have the joy of meeting in the mornings without annoying the people who can’t be part of it.

Photo Credit: quinn.anya Flickr cc

Categorieën: Mozilla-nl planet

Karl Dubost: [worklog] Edition 049 - Hello 2017

ma, 09/01/2017 - 14:44

Welcoming a new webcompat team member, Ola on our webcompat teleconf.

The Japanese engineering team has moved to a new office near Tokyo station. A lot less fancy than the beautiful space near National Arts Center, but a new space for discovery and exploration.

webcompat issues webcompat.com dev Miscellaneous

Reading about OKR and laughing hard:

The Objective is designed to get people jumping out of bed in the morning with excitement. And while CEOs and VCs might jump out of bed in the morning with joy over a three percent‐ gain in conversion, most mere mortals get excited by a sense of meaning and progress. Use the language of your team. If they want to use slang and say “pwn it” or “kill it,” use that wording.

Where is the humanity? Where is the individual accomplishment? And the collective realization of good? The thing which worries most is not the OKR method (it might be pretty good), but more the pseudo-intellectual mush given to managers. Instead, if you are a manager, go read Citadelle de Saint-Exupéry for example or go on a long hike in the mountains with another person. Anything which builds your understanding of humankind.

Otsukare!

Categorieën: Mozilla-nl planet

Christian Heilmann: Taking my G-Ro for a spin…

ma, 09/01/2017 - 14:23

Almost two years ago the G-Ro travel bag kickstarter did the rounds and all of us travelers pricked up our ears. It sounded revolutionary and a really cool bag that is a mix of carry-on and laptop bag. It’s unique physics and large wheels promise easy travel and the in-built charger for mobiles and laptops seems excellent.

As with many kickstarters, this took ages to, well, kick in and by the time mine arrived my address had already changed. They dealt with this easily though and this last trip I took the cool bag for its first spin.

Now, a caveat: if you use the bag the way it is intended, I am sure it performs amiably. The problem I find is that the use case shown in the videos isn’t really one that exists for an international traveler.

Let’s start with the great things about the G-Ro:

  • It looks awesome. Proper Star Trek stuff going on there.
  • It does feel a lot lighter when you roll it compared to other two wheeled rollers. The larger wheels and the higher axle point makes physically sense.
  • It comes with a lot of bags for the interior to fold shirts and jackets and lots of clever features.
  • Once you spend the time to go through the instructions on the kickstarter page you’ll find more and more clever bits in it.
  • The handle is sturdy and the right length to pull. It is less of a danger to other travelers, as all in all the angle you use it on is steeper. You use less space walking. However, it still is worse than a four-wheeled bag you push on your side. People still manage to run into the G-Ro at airports.

Now, for a weekend trip with a few meetings an a conference, this thing surely is cool and does the job. However, on my 4 day trip with two laptops and a camera it turns out to be just not big enough and the laptop bag is measured only for one laptop and not even a sensible space for the chargers.

Here are the things that miffed me about the G-Ro:

  • Whilst advertising that it is the correct size for every airline to be a carry-on, the G-Ro is big and there are no straps to make it thinner. This is what I like about my The North Face Overhead Carry on Bag. This means that on an Airbus in Business Class, the G-Ro is a tight fit, both in height and length. G-Ro in overhead on British Airways
    As most airlines ask you to put your coats on your bag, this is a no-go.
  • The easy access bag on the front for your liquids and gels is flat and big, but the problem with liquids and deodorant/perfume bottles is that they are bulkier and less wide than that. This easy-access bag would be much better as another laptop/tablet holder. With your liquids in that bag, the G-Ro looks bulky and you’re sure to bump against the top of the overhead compartment with your liquids. Basically there is a good chance for accidental spillage. A bag on the side or a wider one on the back would make more sense.
  • The bag in the back in between the handle bars is supposed to be for your wallet and passport, and thus works as an advertisement for pick-pockets. I used it for the chargers of my laptops instead, and that’s actually pretty convenient.
  • The G-Ro is very clever in the way you can put a lot of cables and hardware into a very tight space. This is convenient, but also ensures that every time the bag is X-Rayed at the airport, it is taken out and officers ask you to remove things. Instead of keeping cables, iPods and chargers in the bags they should go, it would be better to have a removable pouch for them. I will use a Cable Organiser to avoid this now.
  • One thing that is not really a problem but freaked me out is that the G-Ro is always slightly tilted and I am always wondering if it will fall over. It won’t, and what is pretty cool is that you can fully open the front bag without it falling over. But it is something to get used to.Bag between handle bars, tilted standing and open G-Ro
  • Now, I might have put too much in for a four day trip, but here is the main issue with the G-Ro. For its size it is ridiculously heavy – you know, like the first two Black Sabbath albums heavy. With its big wheels it feels great to pull the bag, but once you get to some stairs, you get a rude awakening. No, you can’t roll it down most stairs, as it would bounce and as with all two-wheel bags you have the issue of a slight angle going down a step making the bag fishtail. The heaviness of the bag is exacerbated by the uselessness of the handle on the side, which doesn’t pull out at all and thus for my fat fingers is a trap and great to remove fingernails rather than a way to carry the bag or pull it out of the overhead compartment.
    Bad handle

All in all, I am not punishing myself for backing this product, but it is only useful for a certain use case. In essence, it is a glorified backpack or laptop bag, but not a full travel companion. I’m looking forward to using it for weekend business trips that last two days, as it will force me not to buy things. But with all the hype and the plethora of useful features that the web site and the videos promise us, I found it underwhelming, especially for this price.

Categorieën: Mozilla-nl planet

Karl Dubost: Web Compatibility Talk at Tech in Asia Jakarta 2016

ma, 09/01/2017 - 14:20
The setup

Last week, I went to the conference Tech in Asia Jakarta 2016. Digressing… This URL will not be relevant for the 2016 content next year. It is a weak URL, already rusty from the start. A good way to fix this is to set a temporary redirection from http://events.techinasia.com/jakarta/ to http://events.techinasia.com/jakarta/2016/ so people have the right link in their bookmarks. Once the conference is finished, you can start redirecting to 2017.

I have been put in touch with David Corbin by Sandra Persing and Dietrich Ayala for talking about Web Compatibility on the Developer stage. The conference has a strong marketing and product placement agenda. This is not the usual crowd I venture to, but it's always interesting to have a different view on how people conceive and foresee the Web.

But we know for a long time Web Compatibility is about participating.

Jakarta

Jakarta is a vibrant city which is bustling to the sounds of motorbikes. Buildings are growing everywhere. The city is being modernized at a fast pace and like in many other cities going through these transformations, it is socially and ecologically violent. The Guardian has this week a full live coverage of Jakarta. The street food is amazing and quality coffee places are not hard to find. The population is young. This participates to the dynamism of the city and the startup ecosystem.

Web Compatibility talk

First talk of the morning, I was not expecting that much, but wow what a crowd. Ratri Chibi introduced me and I tried to gave an overview about Web compatibility in 25 minutes.

The context

techinasia slide

For my talk I usually try to connect to something the audience can relate to. This time I have used in most of my slides the Indonesian masks culture (topeng). Barong is a good spirit (on the left), while Rangda is a demon (on the right). The Web compatibility work is very much a battle in between the good and evil ways of doing things. But we all have to remember that like in the world of spirits, the daily reality is a lot more complex than just being right or wrong. Rangda is an evil force and… a protective force at the same time.

techinasia slide

What do we mean when we talk about the Web? The Web is a space where a person should be able to use whatever device and browser of their choice to access and interact with the content. The Web has been instrumental in making information cheaply accessible anywhere at anytime everywhere on earth. It enlarged the ability of individuals to publish content.

techinasia slide

A couple of years ago, at Mozilla, we tested the top 1000 Web sites in Japan and China on Firefox for Android. We quickly realized that around 20% of these sites were broken in some ways to the point of being completely unusable. The common issues were related to WebKit properties (CSS and DOM) such as old flexbox, gradient, transition, background-size, etc. Sometimes sites were relying on old non-standard properties implemented by other browsers but not Firefox such as innerText (the standard keyword is textContent). In this image of the Mobage site, we clearly the sign of flexbox first generation.

techinasia slide

It leads to the fragmentation of the Web and condemn people to use specific devices when they can afford it. It is also a vicious circle. Any reasonable Web agencies or IT departments before fixing a bug look at their browser market shares. If a specific browser is not visible in their analytics, they decide it's not important to support it and not worth spending time on fixing the issues. Contacting the companies for outreach to get the sites fixed becomes a seduction game. In cases where the site is totally unusable by design leads to an obvious zero marketshare. It also becomes very difficult to convince the company that they will get customers if they fix the bug. And last but not least, if too many sites are broken, it becomes a lot harder to make distribution deals with devices companies, which in return entrenches the low marketshare.

techinasia slide

How do we escape from this ouroboros? When the effort on HTML restarted, some design principles have been established including the priority of constituencies

In case of conflict, consider users over authors over implementors over specifiers over theoretical purity. In other words costs or difficulties to the user should be given more weight than costs to authors; which in turn should be given more weight than costs to implementors; which should be given more weight than costs to authors of the spec itself, which should be given more weight than those proposing changes for theoretical reasons alone. Of course, it is preferred to make things better for multiple constituencies at once.

It says that the people using the Web for reading and publishing are the most important in the ecosystem. Everything should be done so they have a smooth Web experience. Sometimes as a Web developer, you might want to choose a less fancy solution so more people can use the service. As a browser implementor, you need to implement non-standard properties so the sites will be working on people's browsers.

Some Web Compatibility issues HTTP

techinasia slide

Web compatibility issues are not only about CSS and DOM. Sometimes they are deep into the user experience and the way we use the protocols. A couple of years most Web sites had dedicated domain names for desktop computers and mobile devices. To help the user get the right experience, they used user agent sniffing (user agent detection mechanism). Each browser sports a HTTP User-Agent string which is sent with every request and identifies the browser. So sites are redirecting the device based on the user agent string to the www. or m. domains. Algorithms and databases of user agent strings help Web developers to make the right choice but for one issue: only the past is known. A new user agent string on the market will be unknown and then will not be recognized by these algorithms, sending the user to the wrong site. It's why I often say that user agent sniffing is a future fail strategy. It works only if you intend to keep a very high maintenance of every possible browser/device coming into the market before it actually hits the market. Mission impossible.

HTTP Ping Pong is happening when different detection logics are applied for the mobile and desktop site. One is saying, I know your user-agent string and you are a mobile device, I'm sending you to m. and the mobile site in return says I don't know you user agent string, you must be a desktop computer, I'm sending you to www. which in return… etc. If everything is done through HTTP, the browser gives up after 10 hops. The user is punished and not able to read the content. If there's HTTP on one side, and JavaScript on the other side, here we can enter in very interesting scenario of infinite redirection loops. Nightmares ensue.

CSS

techinasia slide

elm.style.webkitTransform elm.style.WebkitTransform elm.style['-webkit-transform'] elm.style['transform']

which one of these four properties is implemented in Edge (Microsoft) and Firefox (Mozilla). Our natural instinct would say the 4th one, which is the standard way to assign a transform to an element elm.style['transform']. But because of the wide spread of broken javascript and bogus libraries, the needs to be compatible with the Web forced us the others. It's the story of broken things on the Web, the story of our own failures to do the right things. So we patch our stories with ways so people can continue to follow along with us.

techinasia slide

This kind of things led the core team of Firefox (working on Gecko) pushed by the web compatibility team to implement many aliases of WebKit. Some properties really need just an alias, but some are slightly more subtle, such as flexbox. The first implementation of flexbox is very different from the current one and websites using the first version only (aka for WebKit safari) breaks if we were just simply converting to modern flexbox.

techinasia slide

You might think that we are rewarding the bad developers. That we should strive for quality and take a stand for doing the right (technical) thing. But what is right technical is not necessary right for the users. The screenshot in Firefox Android of the mobage website (above) is symptomatic of what we can see on the mobile Web in Japan. In 2014/2015, we identified that 20% of the Japanese sites were broken because of using -webkit- only CSS properties and WebKit JavaScript. We spent months, sometimes years contacting web sites without having them to change their site. So we had to bend our technical righteous side and implement some -webkit-. Previous RIP Opera Presto did the same. And Microsoft Edge. In the end the version on the right side in the screenshot is far more usable for the end users.

JavaScript and Legacy

techinasia slide

Issues with Web compatibility comes in many forms. They sometimes are just an exposure of the history and success of some JavaScript libraries. During the development of ES6, a new keyword has been proposed to finally be able to search a substring inside a string. contains was the most logical thing to do.

str.contains(searchString[, position])

techinasia slide

until… (you know there is a recurrent joke here and that there will be an issue, but let's continue with it) Mozilla deployed the new feature in Firefox Nightly and broke many Web sites using Mootools 1.2. This well-known library had a similar keyword but not with the same exact semantics. Firefox had to back out this and remove the regression. Luckily enough this happened before productions releases.

techinasia slide

The ES6 crew had to propose a new keyword: includes instead of contains. Sometimes we will discover Web compatibility issues only once we deploy a new feature and we realize that a well-known site or a successful libraries is relying on either a bug in the browser, or a similar feature.

Contacting Web sites

techinasia slide

Why these issues happen in the first place? Why can't people just code according to the standards. It's a very hard question. The Web is not only a technical object. It's not just code out of a compiler. The Web exists because of a social-economical structure. It's a deeply social object. Asking why some sites are broken is like wondering why there is pollution and why people can't just individually do the right thing. If you have worked or are working in a Web agency as a Web developer. You know you have a boss (or a project manager) and that there are clients. You know that the taboo Friday deployment is still happening. That the budget is undervalued. That the timeline for delivering the project is too tight. That the browsers themselves have their own set of issues. So people make choices, cut corners and test only for a certain number of scenarios.

Usually we try to contact Web sites. We make an attempt at discovering who is in charge, but here again boss, client, Fridays, legacy Web sites, maintenance budget in oblivion.

techinasia slide

Sometimes the issue are deeper and comes directly from the specification. When you read in a specification "Left to implementations" runs away from the feature. It means that the specification doesn't explain clearly the behavior of the feature and implementers will have to decide what they should do with the gap in description. That often leads to interoperability issues. Sometimes it's because web developers are using some features in "creative" ways that implementers would have never thought about. Any systems contain in itself ways of being exploited in unfathomable directions.

How To Do A Better Job?

techinasia slide

There are ways to mitigating the issues. On webcompat.com, we developed the tool cssfixme, it is not perfect but it's a good way to understand how to fix your webkit only CSS. Better is to use tools such as postcss. They will take care for you of the incompatibilities and prefixing strategy. It helps you to focus on what matters. They do the hard work of salting for the browsers with appropriate prefixes.

techinasia slide

Prefixes were a well intended idea—remember what I said about systems—but because of the socio-economical structure of the Web, they became a Achilles' heel for some browsers. A browser with very large market share can deploy a feature with a prefix and because Web developers don't want to wait before using it in production. It becomes a de-facto standard. That's really unfortunate, but a reality.

So browsers have decided a new policy and put new features behind settings to flip on and off. Most users do not change or even have access to these type of settings. So Web developers can't rely on them for the new production release of their site. At the same time, they can easily test the features by activating them. The caveat is that there will be less chances to discover issues, but it's a lot better for the browser ecosystem.

techinasia slide

MDN is a treasures trove. This set of documentation hosted by Mozilla and written by the large Web developer community gives a lot of information about the Web features, including Web compatibility tables. And if an information is missing, just contribute. I would also specially recommend caniuse.com

techinasia slide

If you find a bug in a browser you need to report it to browser vendors. This is essential. Too few Web developers report issues about Web browsers, and still they are the core of their daily usage. By reporting issues and bugs, you help browsers become better for your future work. The bugs you encounter in developing your own site are unique. Browser implementers can't imagine them or make them up.

techinasia slide

techinasia slide

Finally if you notice a Web site as a user or a Web developer with different rendering or behavior in different browsers. Do not hesitate to report it to webcompat.com. Make sure to test in multiple browsers. Be careful about your addons, they often create differences in between browsers (such as adblockers).

techinasia slide

If you have questions you can ask @webcompat or @mozwebcompat on twitter. You can also communicate on the publicly archived webcompat mailing list.

Otsukare!

Categorieën: Mozilla-nl planet

Daniel Stenberg: DMARC helped me ditch gmail

ma, 09/01/2017 - 09:47

I’ve been a gmail user for many years (maybe ten). Especially since the introduction of smart phones it has been a really convenient system to read email on the go. I rarely respond to email from my phone but I’ve done that occasionally too and it has worked adequately.

All this time I’ve used my own domain and email address and simply forwarded a subset of my email over to gmail, and I had gmail setup so that when I emailed out from it, it would use my own email address and not the @gmail.com one. Nothing fancy, just convenient. The gmail spam filter is also pretty decent so it helped me to filter off some amount of garbage too.

It was fine until DMARC

However, with the rise of DMARC over the recent years and with Google insisting on getting on that bandwagon, it has turned out to be really hard to keep forwarding email to gmail (since gmail considers forwarded emails using such headers fraudulent and it rejects them). So a fair amount of email simply never showed up in my gmail inbox (and instead caused the senders to get a bounce from a gmail address they didn’t even know I had).

I finally gave up and decided gmail doesn’t work for this sort of basic email setup anymore. DMARC and its siblings have quite simply made it impossible to work with emails this way, a way that has been functional for decades (I used similar approaches already back in the mid 90s on my first few jobs).

Similarly, DMARC has turned out to be a pain for mailing lists since they too forward email in a similar fashion and this causes the DMARC police to go berserk. Luckily, recent versions of mailman has options that makes it rewrite the From:-lines from senders that send emails from domains that have strict DMARC policies. That mitigates most of the problems for mailman lists. I love the title of this old mail on the subject: “Yahoo breaks every mailing list in the world including the IETF’s

I’m sure DMARC works for the providers in the sence that they block huge amounts of spam and fake users and that’s what it was designed for. The fact that it also makes ordinary old-school mail forwards really difficult and forces mailing list admins all over to upgrade mailman or just keep getting rejects since they use mailing list software that lacks the proper features, that’s probably all totally ignored. DMARC was as designed: it reduces spam at the big providers’ systems. Mission accomplished. The fact that they at the same time made world wide Internet email a lot less useful is probably not something they care about.

It’s done

gmail can read mails from remote inboxes, but it doesn’t support IMAP (only POP3) so simply switching to such a method wouldn’t even work. I just refuse to enable POP3 anywhere again.

Of course it isn’t an irreversible decision, but I’ve stopped the forward to gmail, cleared the inbox there and instead I’ve switched to Aqua mail on Android. It seems fairly feature complete and snappy. It isn’t quite as fancy and cool as the gmail client, but hopefully it will do its job.

The biggest drawback I’ve felt after a couple of weeks is the gmail spam filter. I do run spamassassin on my server and it catches the large bulk of all spams, but having the gmail spam system on top of that was able to block more silliness from my phone than spamassassin does alone.

Categorieën: Mozilla-nl planet

The Servo Blog: These Weeks In Servo 87

ma, 09/01/2017 - 01:30

In the last weeks, we landed 104 PRs in the Servo organization’s repositories.

Planning and Status

Our overall roadmap is available online. Plans for 2017 (including Q1) will be solidified in the coming week. Please check it out and provide feedback!

This week’s status updates are here.

Notable Additions
  • gw added non-square texture page sizes to the renderer.
  • UK992 fixed some packaging issues breaking the macOS nightly builds.
  • nox corrected the way the text nodes get added to documents during parsing.
  • UK992 enabled using ccache on Appveyor builds.
  • mrnayak implemented support for subresource integrity checks.
  • charlesvdv enabled setting numeric preferences from the command line.
  • bzbarsky made per-document styles possible in Stylo.
  • anholt implemented an overload of the WebGL bufferData API.
  • jdm fixed an incorrect script/layout interaction preventing logging into many Google applications.
  • Ms2ger implemented the “entry global” specification concept.
  • emilio redesigned the interactions between the style system and media queries.
  • Manishearth implemented the @supports directive for CSS.
  • bholley improved performance of manipulating threadsafe RefCells.
  • Manishearth added better documentation to all CSS properties.
  • wafflespeanut made the behaviour of the input DOM event match the specification.
  • cynicaldevil implemented the missing Document overload for the XMLHttpRequest API.
  • MortimerGoro implemented the WebVR API.
  • asajeffrey made Servo not retain every web page that it has ever loaded in the current session.
  • paulrouget fixed the problem preventing the brew nightly formula from working.
  • asajeffrey avoided the problem of creating many RNGs that would eventually exhaust available file descriptors.
New Contributors

Interested in helping build a web browser? Take a look at our curated list of issues that are good for new contributors!

Screenshot

No screenshots.

Categorieën: Mozilla-nl planet

Support.Mozilla.Org: The Big SUMO Report: 2016

zo, 08/01/2017 - 04:04
Hey there, SUMO Nation! sumo_logo

Since 2017 has finally arrived (a while ago), our team wanted to share a few numbers and remarks with you. This report is a bit delayed, but we hope it will prove to be worth the extra few days’ wait.

We are on the brink of probably the biggest change to the “way things are” around SUMO in the recent years, so taking a good look back is a great way to make sure we stay focused on the road ahead.

2016 has not been an easy year for many members of our community, for many of reasons. Fortunately, we all persevered and managed to come out stronger / wiser / more prepared on this side of the calendar. We will definitely keep working together on many aspects of our site, our community, and our presence in Mozilla’s mission. Our small core team counts on your presence and strength and you can count on our support. You rock the helpful web.

As for all the data you will see on this page and the ones it links to: remember that while we use some of these numbers to prepare plans for the future and put them into reality, they are just numbers – and as such cannot and will not fully represent the passion, the values, the talent and effort behind every single angry user turned into a happy one thanks to your dedication to making the open web better and more helpful.

For all that we thank you from the bottom of our hearts.

Now, let’s get on with the show!

SUMO 2016 – the major facts
  • We joined forces with the Marketing Team, becoming a part of MarComms, and working more closely with the Mozillians at the heart of Social and PR projects.
  • With Firefox 46, we started publishing SUMO Release Reports, which met with a very positive response from all sides of Mozilla:
  • Kitsune, our home-made support platform went through a LOT of changes, the final of which was the decision to replace it with an external solution, due to our lovely developer team being reassigned to other parts of the Mozilla project. We spent the better part of the second half of the year investigating the next generation of SUMO tech. We should be using the new platform any day now…
  • Social Support and Army of Awesome morphed into two different beasts this year. While trying out a new tool (Sprinklr), a robust social engagement tool used for brand marketing, we engaged many new people, but it took us some time to refine our goals.
    • We started to onboard with a goal of 25 active volunteers and soon found the tool overwhelming for just a few volunteers. Once we moved to another tool (Respond), a new community was created from the retiring Army of Awesome and the 4 main Mozilla Brand Social accounts for English, Spanish, Portuguese, and French languages. After transitioning to the new support tool, 33 people received training and the response rate went up from 10% to 33%.
  • The Knowledge Base articles explaining how to contribute were revised, rewritten and re-read aplenty :-)
  • We kicked off the “Internet Awareness” project – an exploration of a new way of educating users about the web.
  • Safwan saved many a gray hair from appearing for numerous localizers through his Save as Draft feature.
  • We changed a bit the way our Community Meetings worked, and we went full HD, 3D, hypersurround sound with AirMozilla (thanks, Costenslayer!)
  • SUMO went places! #sumotourctg, SUMO@FOSDEM, SUMO Contributor Mentoring Day, SUMO l10n Sprint in Tunisia, Kazakhstan, Ivory Coast, Jakarta,
  • We improved the SUMO Event Kit based on your feedback.
  • This blog had 68 new posts and over 9,200 page views. Some of the best posts this year were written by you! Still, support.mozilla.org seems a bit more popular (see more details on that below) – but we are slowly catching up! ;-)
SUMO 2016 in numbers – the highlights

As you can imagine, our activity and its results can be described in many ways – and by many numbers. It would be a daunting task to put all of them here in a coherent way, so we decided to summarize data showing the potential, reach, and power of SUMO – both as a source of knowledge and help, and as an example of community collaboration.

General site stats
  • Number of total page views: 806,225,837
  • Number of users with at least one recorded session (= visit to the site): 259,584,893
  • Number of sessions (= periods of active user engagement on the site): 446,537,566
  • Percentage of people returning to the site: 45%
  • Average time spent on site per session: 01:39
  • Average number of pages visited per session: 1.81
  • Percentage of single page visits: 25%
Community stats
    • Number of people who created a SUMO account: 57,656
    • Number of people who contributed for the first time: 1,153
    • Percentage of people who visited SUMO using Firefox: 84%
    • Percentage of people who visited SUMO using Chrome: 7% / Safari: 4% / Internet Explorer: 3%
Language & Knowledge Base stats
  • Top visitor 10 languages (by percentage of sessions):
    1. English
    2. German
    3. French
    4. Spanish
    5. Japanese
    6. Russian
    7. Portuguese (Brazil)
    8. Polish
    9. Italian
    10. Chinese (simplified)
  • Top 10 visitor countries (by percentage of sessions):
    1. United States
    2. Germany
    3. Japan
    4. France
    5. Brazil
    6. Russia
    7. India
    8. United Kingdom
    9. Poland
    10. Indonesia
  • An interesting euro-fact: the top 5 countries by percentage of sessions from the European Union region were over 24% of all sessions in 2016.
  • Number of all submitted revisions:
    • for English only: 2,068
    • for the top 20 locales: 14,177
    • in all locales: 21,741 (almost 60 a day on average!)
  • The most active Knowledge Base contributors in 2016 – each and every one of you is an e-linguistic superstar! Major shout-outs go to:
milupo Tonnes Alberto Castro Angela Velo AliceWyman wxie soucet Michele Rodaro vesper Lan Goofy Underpass Artist Joni Anticisco Freeman Jim Spentzos Unghost dskmori Kim Ludvigsen TyDraniu pollti Joergen Богданцев Сергій Dinesh kusavica Marco Aurélio Harry marsf Michal Stanke Kéménczy Kálmán graba Banban Peter Daniel2099 Andreas Pettersson Pedro Sousa Cláudio Esperança Victor Bychek EricTsai NIKHIL KURMI ( নিখিল কুর্মী ) danhojin Vanja Tumbas Chris Ilias André Marinho J2m06 kaneren Marko Andrejić ideato Imen philipp Carlo Ranieri Cynthia Pereira MozGianluc Thiago Policena Mozinet Teo Laucon Selim Şumlu Airton Zanon Azharul Islam Manuela Silva Michael Buluma Peter Chen sandeep Synergy YFdyh000 윤석찬(Channy) Fatma_Ben_Nejma َMohamed Adib Boukthir Andy Cécile Lobodzets Modhurima Chowdhury Proma Macbetha Artem Polivanchuk David Kuo Jayesh KR plamen71 Jarmo Zilmar haard Mijanur Rahman Rayhan longxi Marcelo Ghelman Tymur Faradzhev Narae Kim Yanick kelimutu Tacsipacsi Tobias dario.be Kazem Ebrahimi c-bou André Marcelo Alvarenga Lidya chikoski Fabio Beneditto Çağrı AKSOY Karimun Nahar Nourin xcffl

(For more general data please check this document)

Support Forum

Here are the top viewed items for 2016, also considered to be the most “popular” in terms of issues raised by users across the board, in no particular order:

The top searched items that are “the usual suspects” are from:
  • users looking for the offline installers for Firefox
  • people who want to how to cast a mobile device to a monitor
  • users wondering how to change the interface language
  • people who have problems using the full screen mode

All in all, it’s been quite a busy year, and there was so much great support from your side that it would not all fit into this blog post (we tried, the blog almost exploded), so do browse the highlight below and make sure you check the document linked at the end of this section. All your dedication and hard work throughout last year paid off and we are all grateful to each and every one of you for making SUMO’s support forums the best official support site for Mozilla’s software! As a bonus, there’s about two million smiles from Rachel for everyone who replied to a question, I hear ;-) Roll on with the numbers!

  • Percentage of users (from 11,604 responses recorded through the Exit Survey):
    • very satisfied with Firefox: 31.6%
    • satisfied with Firefox: 27.3%
    • neutral towards Firefox: 13.0%
    • dissatisfied with Firefox: 11.3%
    • very dissatisfied with Firefox: 11.1%
  • Percentage of users who visited SUMO to:
    • find a solution to a problem: 74,7%
    • learn more about Firefox: 13.2%
    • do something else: 12.1%
  • Percentage of users who:
    • found what they were looking for on SUMO: 40.2%
    • did not find what they were looking for on SUMO: 47.6%
    • don’t know what to say about the result of their visit: 12.2%
  • The most active Support Forum contributors in 2016 – each and every one of you is a guardian angel of cyberspace! Major shout-outs go to:
jFredMcD jscher2000 cor-el Matt the-edmeister christ1 Zenos philipp John99 James Toad-Hall Airmail Wayne Mery Happy112 Scribe amanchesterman Seburo alex_mayorga Wesley Branton guigs ideato Michal Stanke Gnospen poljos Ansam Samuel Santos sfhowes Tonnes Phoxuponyou Bruce A. Johnson Oxylatium Zilmar alan_r Marco Aurélio Chris Ilias kbrosnan Tyler Downer Fabio Beneditto Diego Victor Moses Andrew AliceWyman Jhonatas Rodrigues LasseL Gert Van Waelvelde Noah_SUMO sicle myanesp Corey ‘linuxmodder’ Sheldon Magno Reis Mauricio Navarro Miranda Pkshadow wdot789 Selim Şumlu Pranav Karakavalasa David Walczysko jam70 cliffontheroad Anticisco Freeman Grad rahulparakh678 Fahim Chandan_Baba Supreme Eagle thomas_wilson Sashoto Seeam siddheshdixit Samrat Bhattacharjee Standard8 Swarnava Sengupta Amit Kumar Jaiswal Machine Master Stephen Fox mufngruf Tomi55 water.beetle soundwave kriss_88 anf25 Rainer Vitor Thiago Casagrande Danilo Costa Onno Ekker MaikelSantos jdc20181 Kyle K. dario.be danieldutrech AaronMT Emin Mastizada Estevão Santos Mijanur Rahman Rayhan NIKHIL KURMI ( নিখিল কুর্মী ) yetiputer CiaoBella1 tessiss Azharul Islam Marcelo Noguera

You can find a more in-depth analysis of the year’s most popular and memorable forum content here (thank you, Rachel!).

Social Support

Remembering the Awesome… Army of Awesome!

  • We had 390 members of the Army of Awesome contributing until its very last day in 2016
  • They contributed in German, English, French, Galego (!), Hungarian, Italian, Japanese, Norwegian, Dutch, Polish, Portuguese, Romanian, Russian, Tamil, Turkish, Ukrainian, and Chinese… You can see more data about their contributions here.

As a reminder: The Army of Awesome was a self service support program of one to one user support, with a glorious legion of amazing people around the world responding to Firefox (and not only) users in trouble through Twitter. It was morphed into a Social Support program that you can sign up for through form and learn more about from this wiki.

For January to March, please take a look at the project start document here.

Most active contributors on Social: March to September

Contributor Messages Kristina Gorr 756 Andrew Truong 449 Noah Y 385 Magno Reis 298 Jhonatas Rodrigues Machado 179 Daniela Albarrán 105 Swarnava Sengupta 68 42265 62 Geraldo Barros 25 Cynthia Pereira 23 Rachel McGuigan 23 Marcelo Lauxen 16 Stefan Costen 15 Ghaith Limam 12 Alex Mayorga 8 Rachael Morrill 7 Luis Sanchez 4 Jaime Maretoli 2 Benny Chandra 2

October to December (welcome, Sierra!)

Contributor Messages Magno Reis 568 Andrew Truong 305 Geraldo Barros 146 Wim Benes 125 Sierra Reed 122 Barend van Rijn 95 Daniela Albarrán 92 syam kumar 66 Alex Mayorga 62 Josh Riley 57 Philipp M 36 Zilmar de Souza Junior 35 Dynisha Faust 33 Noah Y 27 Cynthia Pereira 24 Robert Sayles 24 Nildëala Dorffer 21 Swarnava Sengupta 19 Anubha Maneshwar 15 Emmanuel Sánchez 11
  • Average time to a first reply on Social:
    • 1d 21h (for the period from October to December)
  • The lowest average time to a first reply on Social: 8 hours during one of the weeks in December!
SUMO 2016 in your words

Nope, it’s not enough that this is “probably the longest post on this blog, ever!” This is where we would love to see you step in :-) Please use the comment section to share your best and not so good SUMO (or Mozilla) moments from the last calendar year. If you think we should anything else to the report, please use the comments section as well.

We look forward to hearing from you!

 

Categorieën: Mozilla-nl planet

Daniel Stenberg: My talks at FOSDEM 2017

za, 07/01/2017 - 16:25

I couldn’t even recall how many times I’ve done this already, but in 2017 I am once again showing up in the cold and grey city called Brussels and the lovely FOSDEM conference, to talk. (Yes, it is cold and grey every February, trust me.) So I had to go back and count, and it turns out 2017 will become my 8th straight visit to FOSDEM and I believe it is the 5th year I’ll present there.First, a reminder about what I talked about at FOSDEM 2016: An HTTP/2 update. There’s also a (rather low quality) video recording of the talk to see there.

I’m scheduled for two presentations in 2017, and this year I’m breaking new ground for myself as I’m doing one of them on the “main track” which is the (according to me) most prestigious track held in one of the biggest rooms – seating more than 1,400 persons.

You know what’s cool? Running on billions of devices

Room: Janson, time: Saturday 14:00

Thousands of contributors help building the curl software which runs on several billions of devices and are affecting every human in the connected world daily. How this came to happen, who contributes and how Daniel at the wheel keeps it all together. How a hacking ring is actually behind it all and who funds this entire operation.

So that was HTTP/2, what’s next?

Room: UD2.218A, time: Saturday 16:30

A shorter recap on what HTTP/2 brought that HTTP/1 couldn’t offer before we dig in and look at some numbers that show how HTTP/2 has improved (browser) networking and the web experience for people.

Still, there are scenarios where HTTP/1’s multiple connections win over HTTP/2 in performance tests. Why is that and what is being done about it? Wasn’t HTTP/2 supposed to be the silver bullet?

A closer look at QUIC, its promises to fix the areas where HTTP/2 didn’t deliver and a check on where it is today. Is QUIC perhaps actually HTTP/3 in everything but the name?

Depending on what exactly happens in this area over time until FOSDEM, I will spice it up with more details on how we work on these protocol things in Mozilla/Firefox.

This will become my 3rd year in a row that I talk in the Mozilla devroom to present the state of the HTTP protocol and web transport.

Categorieën: Mozilla-nl planet