mozilla

Mozilla Nederland LogoDe Nederlandse
Mozilla-gemeenschap

Karl Dubost: Benefits on fixing a Web site with regards to Web Compatibility

Mozilla planet - ti, 12/05/2015 - 11:30

Someone asked me recently

Is there any benefit for site owners to fix their web sites?

Context: Someone reports a bug about a Web site, we analyze, diagnose, provide a fix (or an idea) on how to fix it, find a contact, and then try to get it fixed.

Yesterday, I posted an article on how to find contact. My first recommendation is:

  • Be tactful: People we are trying to reach have their own set of constraints, bosses, economic choices, etc. "Your web site sucks" will not lead anywhere, except NOT getting the site fixed.

When contacting people, we come with a request which has a cost for the person and/or structure which will need to fix it. Never ever forget this.

Why Should We Fix Our Site?

When the person is asking you why they should fix it, here are a couple of reasons:

Reach out more customers, more users

When a user is being denied access because of the browser they used, it will very often lead to a loss, specifically if this person can use another site for the same type of service. Asking the user to change browsers may lead to annoyance to total sense of frustration. Some platforms, companies do not authorize another browser.

Make the company brand stronger

If the Web site is not properly working on the browser that a person has chosen, it leads to two main feelings: The browser is broken or the site is broken. In the latter case, the user will lower the trust for the company's brand. This is even worse when the company has a kind of monopoly, because the user is both frustrated and forced. Never a good feeling.

Be more forward compatible with the now and future technologies

There are some cases fixing the Web site will make it compatible with the current deployed technology across the Web platform. Old WebKit flexbox syntax is the poster child of this. The new syntax is supported across all platforms.

Be more resilient to changes

Fix now when you have time to do so. Updating to a new syntax (even if keeping around the old syntax) when there is time is a lot better than having to change the full site in hurry because one browser is deprecating the old syntax. Basically you will save money and time by planning your efforts.

We can help

Basically, when we are contacting someone, we not only describe the issue but most of the time, we provide a way to fix it. So basically we help the company to get the code in good shape. We minimize their cost for something they might have to do in the future.

Empathy is key

Do not preach about doing the right thing to someone who is asking about the benefits. It will be a lost battle.

A company is not a perfect entity, a person might say no, when someone just the desk beside think that your contact outreach effort makes sense. If there is too much resistance on one side, try with someone else. Still be mindful. Do not harass all people of the company.

Sometimes, all of this, will not be good enough. There is so much we can do in one day and it's better to focus your energy with people of good will. Just conclude that you can help in the future if they decide to move forward.

You will do mistakes when contacting people. It's ok. Everyone does.

Otsukare!

Categorieën: Mozilla-nl planet

Mozilla Pushes Web Sites To Adopt Encryption - Top Tech News

Nieuws verzameld via Google - ti, 12/05/2015 - 09:17

Mozilla Pushes Web Sites To Adopt Encryption
Top Tech News
The organization behind the Firefox Web browser wants to see Web site encryption become standard practice, and it has laid out a two-part plan to help that happen. Mozilla said it plans to set a date by which all new features for its browser will be ...

Categorieën: Mozilla-nl planet

Mozilla Thunderbird 38.0 - oneBlog (Blog)

Nieuws verzameld via Google - ti, 12/05/2015 - 09:10

oneBlog (Blog)

Mozilla Thunderbird 38.0
oneBlog (Blog)
Lo sviluppo di Thunderbird è quasi del tutto fermo dalla versione 31, tuttavia i developer di Mozilla hanno via via introdotto delle patch per migliorare la stabilità e alcune feature di del client. In questi giorni però è stata rilasciata una nuova ...

Google Nieuws
Categorieën: Mozilla-nl planet

Christopher Arnold: Mesh Networking for app delivery in Apple OSX and Windows GWX

Mozilla planet - ti, 12/05/2015 - 03:42

The upcoming release of Windows 10 operating system is exciting for a number of bold new technologies Microsoft plans to introduce, including the new Microsoft Edge browser and Cortana speech-recognition tools.  This release is called GWX for "Get Windows 10" and will reach all Windows users from version 7 to 8.1.  Particularly interesting to me is that it will be the first time Windows operating system pushes out software over mesh networks in a peer-to-peer (aka "P2P") model. 

Over a decade ago software tools for creating peer-to-peer and mesh networks proliferated as alternative approaches to bandwidth-intensive content delivery and task processing.  Allowing networked devices to mesh and delegate tasks remotely between each other avoids the burden of one-to-one connections between a computer and a central hosting server.  Through this process the originating host server can delegate tasks to other machines connected in the mesh and then turn its attention to other tasks while the function (be it a piece of content to be delivered/streamed or a calculation to be executed) cascades through the meshed devices where there is spare processing capacity.

Offloading one-to-one tasks to mesh networks can unburden infrastructure that provides connectivity to all end users.  So this is a general boon to the broader Internet infrastructure in terms of bandwidth availability.  While the byte volume that reaches the end user is the same, the number of copies sent is fewer.  (To picture this, consider a Netflix stream, which goes from a single server to a single computer, to a torrent stream that is served across a mesh over dozens of computers in the user's proximity.) 

Here are just a small list of initiatives that utilized mesh networking in the past:
SETI-at home (deciphering radio signals in space for pattern interpretation across 1000s of dormant PCs and Macs), Electric Sheep (Collaborative sharing of fractal graphic animations with crowd-sourced feedback), Skype (social networking, telephony, prior to the Microsoft acquisition)
Veoh (video streaming), Bit Torrent (file sharing), Napster (Music sharing), One Laptop per Child (Wifi connectivity in off-grid communities), Firechat (phones create a mesh over Bluetooth frequencies)

Meshing is emerging in software delivery primarily because of the benefit it offers in eliminating burden to Apple and Microsoft in download fulfillment.

 Apple's first introduction of this capability came in the Yosemite operating system update.  Previously, software downloads were managed by laptop/desktop computers and pushed through USB to peripherals like iPods, iPhones and iPads.  When these devices shifted from the hub and spoke model to be able to deliver updates directly over the air, two or more devices from a single wifi access point would make two or more different requests to the iTunes marketplace.  With Apple's new networked permissions flow, one download can be shared between all household computers and all peripherals.  It makes ecological sense to unburden the web from multiple versions of software going to the same person or household.  It benefits Apple directly to send fewer copies of software and serves the user no less.


Microsoft is going a step further with the upcoming Windows 10 release.  Their version of the app distribution method over mesh allows you to fetch copies of the Windows updates not just from those sources who may be familiar to you in your own Wi-Fi network.  Your computer may also decide to pull an update from some other unknown source on the broader Internet that is in your proximity.

What I find very interesting about this is that Microsoft had previously been very restrictive about software distribution processes.  Paid software products is their core business model after all.  So to introduce a process to mesh Windows machines in a peering network for software delivery demonstrates that the issues around software piracy and rights management has largely been resolved.

For more detail about the coming Windows 10 rollout, ZDNet has a very good update. 


Categorieën: Mozilla-nl planet

Matjaž Horvat: Throwing Pontoon backend around

Mozilla planet - ti, 12/05/2015 - 01:02

Osmose pinged me the other day on IRC, pasting a link to his Pontoon branch and asking me to check out the stuff he’s been throwing around. I quickly realized he made substantial improvements to the backend, including things I’ve been resisting for too long, so I wanted to ship them as early as possible.

We worked together during the last week to make that happen and here it is – a preview of Pontoon with the new backend. Please give it a try and let us know if you run into any bugs. As soon as we’re all happy with it, we’ll deploy the changes to production.

The new codebase is way more robust and maintainable, simpler to setup for developers, easier to deploy and what matters most – it works considerably faster for localizers. The following are the most important changes that were made. The complete changelog is available on GitHub.

  • Removed Playdoh for easier maintenance and up-to-date dependencies, including the middleware we didn’t use.
  • Upgraded to Django 1.8, the latest Long-Term Support release, bringing many improvements over the currently-used Django 1.4.
  • Replaced MySQL with PostgreSQL, which is more suitable for our use case.
  • Switched to Docker for easier development setup and deployment to Heroku.

We also moved Pontoon repository under Mozilla organization on GitHub.

And now I’d like to take the opportunity to thank Michael for the heroic effort he has made by throwing stuff around!

Categorieën: Mozilla-nl planet

Mozilla pregătește un sistem software dedicat televizoarelor inteligente - PUBLIKA TV

Nieuws verzameld via Google - mo, 11/05/2015 - 21:30

PUBLIKA TV

Mozilla pregătește un sistem software dedicat televizoarelor inteligente
PUBLIKA TV
De la browser web la telefoane, iar acum la televizoarele inteligente, Mozilla Firefox a crescut foarte rapid, iar acum țintește către scopul oferirii de unelte software dedicate caselor conectate. Mozilla a trebuit să redefinească o nouă interfață ce ...

Categorieën: Mozilla-nl planet

Mike Conley: The Joy of Coding (Ep. 13): Printing. Again!

Mozilla planet - mo, 11/05/2015 - 21:10

Had to deal with some network issues during this video – sorry if people were getting dropped frames during the live show! I have personally checked this recording, and almost all frames are there.

The only frames that are missing are the ones where I scramble around to connect to the wired network, which was boring anyhow.

In this episode, I worked on proxying the print dialog from the content process on OS X. It was a wild ride, and I learned quite a bit about Cocoa stuff. It was also a throwback to my very first episode, where I essentially did the same thing for Linux!

We’ll probably polish this off in the next episode, or in the episode after.

Episode Agenda

References

Bug 1091112 – Print dialog doesn’t get focus automatically, if e10s is enabled – Notes

Categorieën: Mozilla-nl planet

Julien Pagès: mozregression-gui first release!

Mozilla planet - mo, 11/05/2015 - 20:44

A year from now, I started to contribute to Mozilla. Mozregression (a regression range finder for Mozilla nightly and inbound builds) was one of the first projects that catched my attention: I made one patch, then another, and one again… I was mentored by the awesome William Lachance. Since then, I became one of the core contributors and a packager for mozregression and am now myself mentoring people for new contributions on this project!

At the time of the Google Summer of Code, William and I thought about adding a graphical interface for mozregression. Unfortunately, Mozilla was not accepted for gsoc 2015 – but still the idea was interesting – and we worked on it anyway.

And here we are! Ready for a first release of mozregression-gui! Please give it a try, and help us by reporting bugs and giving feedback. :) For now we provide binaries for Windows and Linux 64 (a Mac port is planned) but it is still possible to build from sources for each platform.

Much work remains to be done on the GUI, and this is a good place to start contributing to Mozilla – so if you’d like to hack with Python and Qt don’t wait and get involved!mozregui


Categorieën: Mozilla-nl planet

Air Mozilla: Mozilla Weekly Project Meeting

Mozilla planet - mo, 11/05/2015 - 20:00

Mozilla Weekly Project Meeting The Monday Project Meeting

Categorieën: Mozilla-nl planet

Mozilla WebDev Community: Extravaganza – May 2015

Mozilla planet - mo, 11/05/2015 - 19:18

Once a month, web developers from across Mozilla get together to write fake Amazon reviews for cash on the side. While we sing the praises of shoddy products from questionable dealers, we find time to talk about the work that we’ve shipped, share the libraries we’re working on, meet new folks, and talk about whatever else is on our minds. It’s the Webdev Extravaganza! The meeting is open to the public; you should stop by!

You can check out the wiki page that we use to organize the meeting, or view a recording of the meeting in Air Mozilla. Or just read on for a summary!

Shipping Celebration

The shipping celebration is for anything we finished and deployed in the past month, whether it be a brand new site, an upgrade to an existing one, or even a release of a library.

DXR + Elasticsearch Staged

ErikRose himself was up first, and shared the news that the upcoming version of DXR, which switches the site to using Elasticsearch to power its code-searching abilities, has been successfully deployed on its staging environment. A year in the making, the new version brings faster searches, parallel indexing, and support for multiple programming languages, such as Python.

Bedrock Free from the Clutches of Playdoh

jgmize shared the news that Bedrock, the codebase for the main mozilla.org website, has been successfully divorced from Playdoh, including removing funfactory as a dependency and removing the reliance on git submodules for managing dependencies. Bedrock now uses peep to install dependencies on production.

Open-source Citizenship

Here we talk about libraries we’re maintaining and what, if anything, we need help with for them.

django-browserid 1.0 Released

Osmose (that’s me!) announced the 1.0 release of django-browserid, which mainly adds Django 1.8 support while removing support for older, unsupported versions of Django. Also, as the software is now 1.0, any backwards-incompatible changes will bump the version number as per the rules of Semantic Versioning.

pyelasticsearch 1.2.3 Released

Next up was ErikRose and his announcement of the release of pyelasticsearch 1.2.3, an API for interacting with elasticsearch. The release fixes a bug that caused doctype names to sometimes be treated as index names when _all was used.

Peep 2.3, 2.4, 2.4.1 Released

ErikRose also informed us about several peep releases. peep, which is a wrapper around pip that cryptographically verifies packages installed from a requirements file, is now compatible with pip 6.1.x, supports pip command-line flags in requirements files, and passes flake8.

django-tidings in the Mozilla Github Organization

The last bit of news ErikRose had to share was about django-tidings, a library for sending emails to users in response to events on your site. The project is now part of the Mozilla Github organization, and jezdez has been added as a maintainer.

Roundtable

The Roundtable is the home for discussions that don’t fit anywhere else.

Firefox Developer Edition 40

canuckistani stopped by to mention some of the exciting DevTools features coming to Firefox Developer Edition, including a new performance tool, breakpoints in unnamed eval scripts, recording networks requests before the Network Tab is opened, and more! Check out the etherpad for tracking new features as well as for finding links to what bugs could use some help!

If you are a fine purveyor of shoddy products and want to energize your marketing efforts with a grassroots campaign conveyed via customer reviews, give us a call! Our rates are very unreasonable!

If you’re interested in web development at Mozilla, or want to attend next month’s Extravaganza, subscribe to the dev-webdev@lists.mozilla.org mailing list to be notified of the next meeting, and maybe send a message introducing yourself. We’d love to meet you!

See you next month!

Categorieën: Mozilla-nl planet

Mozilla Science Lab: Mozilla Science Lab Week in Review, May 4 – May 10

Mozilla planet - mo, 11/05/2015 - 17:00

The Week in Review is our weekly roundup of what’s new in open science from the past week. If you have news or announcements you’d like passed on to the community, be sure to share on Twitter with @mozillascience and @billdoesphysics, or join our mailing list and get in touch there.

Tool & Services Government & Policy Conferences & Events
  • The SciKit-Bio Sprint, organized by Greg Caporaso and others, is this week, May 11-15 at UC San Diego. The scikit sprint has a set technical milestone, but also seeks to give users and core developers a chance to interact and communicate.
  • The National Data Integrity Conference was this past week at the University of Colorado; among others, Beth Plale spoke the role and shape of provenance to enable long-term data reuse, and the Science Lab’s own Kaitlin Thaney spoke on our mission of making the web work for science.
Blogs & Papers
  • Keith Webster wrote a bold & thoughtful blog post on how he predicts the evolution of the scholarly record will affect the role of librarians at research institutions, and the growing importance for that discipline to be able to help researchers navigate the ecosystem of data & publishing tools and services.
  • Matthew Grosvenor et al have published their recent work on queue latency with a tremendous example of transparency & provenance of analysis; try clicking on any of the charts in the paper to see the details of their creation in exacting detail.
  • Joseph Rickert observed the impact DOI tagging is having on science journalism, by making actual and substantial scientific research more closely and easily linked to news articles intended for consumption outside of scholarly circles.
Categorieën: Mozilla-nl planet

About:Community: Firefox 38 new contributors

Mozilla planet - mo, 11/05/2015 - 15:51

With the upcoming release of Firefox 38, we are pleased to welcome the 54 developers who contributed their first code change to Firefox in this release, 47 of whom were brand new volunteers! Please join us in thanking each of these diligent and enthusiastic individuals, and take a look at their contributions:

  • beracochea: 1111294
  • ian.wills.9: 1055933
  • kevink9876543: 1057600
  • mozilla: 1123480
  • sssarvjeet27: 1122984
  • Aaron Raimist: 665324, 1042619
  • Abhilash Mhaisne: 1097876, 1130210
  • Abhishek Bhattacharya: 737046, 1092547, 1119921, 1125498
  • Adrian C: 1119873
  • Ahmed Khalil: 1125531
  • Akos Kiss : 1122111
  • Alexander Dimitrov: 1125449, 1125497, 1125523, 1126259
  • Andy Pusch : 964412, 982797, 1099500, 1125529, 1134015
  • Avijit Gupta: 934748, 1091117, 1112618
  • Barbara Miller: 1123683, 1125739, 1127823, 1128495, 1128654, 1129099, 1129159, 1131181, 1131219, 1131223, 1134752
  • Boris Egorov: 1070015
  • Christopher Reyes: 1122709
  • Collin Richards: 1089201
  • Dhi Aurrahman: 835800, 1113003, 1120649, 1125766
  • Gabriel O. Machado: 1117889, 1128933
  • Ganesh Sahukari: 1114594, 1114637
  • Gene V: 1076735
  • Geoff Piper: 1134949
  • Giovanny Gongora: 991745, 1124479, 1126426, 1126738, 1126781
  • James Cheng: 1104422
  • James Cowgill: 1130434, 1130438
  • James Dearing: 1124006
  • John Tungul: 1117722, 1123125
  • Josh Grant: 1105863, 1128515
  • Lewis Cowper: 980090
  • Maire Reavy: 1109467, 1126952
  • Manan Doshi: 972138
  • Martin Liška: 1121410
  • Michael Holloway: 924009, 966485
  • Miles Rakestraw: 1126290
  • Mrinal Dhar: 979991, 1096289
  • Rahul: 1093668
  • Rebecca Billings: 1129652
  • Rob Wu: 1128478
  • Roy Li: 896688
  • Shivanker Goel: 1073935
  • Staś Małolepszy: 1133725
  • Swapnil R Patil: 1085428, 1098420
  • Tejas Srinivasan: 1120060, 1120652
  • Timur Valeev: 1133246
  • Tommy Kuo: 1123622, 1125527
  • Vikram Jadhav: 1108049, 1121471, 1122430
  • Wander Lairson Costa: 1109365, 1130327, 1130467, 1132583
  • Yash Mehrotra: 1009056, 1037225
  • Ying Ruei Liang: 1092398
  • nithin: 1098517
  • shreyas: 547623, 1071558, 1119719, 1122433
  • surabhi anand: 1115542, 1116633, 1120203
  • vaibhav: 1127417
  • Categorieën: Mozilla-nl planet

    Orange et Mozilla ont démarré la commercialisation de l'offre "Klif" en Afrique - Agence Ecofin

    Nieuws verzameld via Google - mo, 11/05/2015 - 15:42

    Agence Ecofin

    Orange et Mozilla ont démarré la commercialisation de l'offre "Klif" en Afrique
    Agence Ecofin
    (Agence Ecofin) - Comme annoncée par Mozilla Corporation au Mobile World Congress de mars 2015, les téléphones mobiles dotés du système d'exploitation mobile Firefox OS 2.0, la dernière version lancée en juin 2014, sont déjà disponibles en Afrique.
    Mozilla : Au tour de l'Afrique de découvrir Firefox OSActu High-Tech
    Orange et Mozilla lancent leur smartphone à 30 euros en Afrique24matins.fr
    Orange lance un smartphone à 30 euros en AfriqueLe Figaro
    ZDNet France -CNET France -Pockett.net
    alle 31 nieuwsartikelen »
    Categorieën: Mozilla-nl planet

    Benjamin Smedberg: Hiring at Mozilla: Beyond Resumés and Interview Panels

    Mozilla planet - mo, 11/05/2015 - 13:32

    The standard tech hiring process is not good at selecting the best candidates, and introduces unconscious bias into the hiring process. The traditional resume screen, phone screen, and interview process is almost a dice-roll for a hiring manager. This year, my team has several open positions and we’re trying something different, both in the pre-interview screening process and in the interview process itself.

    Hiring Firefox Platform Engineers now!

    Earlier this year I attended a workshop for Mozilla managers by the Clayman Institute at Stanford. One of the key lessons is that when we (humans) don’t have clear criteria for making a choice, we tend alter our criteria to match subconscious preferences (see this article for some examples and more information). Another key lesson is that when humans lack information about a situation, our brain uses its subconscious associations to fill in the gaps.

    Candidate Screening

    I believe job descriptions are very important: not only do they help candidates decide whether they want a particular job, but they also serve as a guide to the kinds of things that will be required or important during the interview process. Please read the job description carefully before applying to any job!

    In order to hire more fairly, I have changed the way I write job descriptions. Previously I mixed up job responsibilities and applicant requirements in one big bulleted list. Certainly every engineer on my team is going to eventually use C++ and JavaScript, and probably Python, and in the future Rust. But it isn’t a requirement that you know all of these coming into a job, especially as a junior engineer. It’s part of the job to work on a high-profile open-source project in a public setting. But that doesn’t mean you must have prior open-source experience. By separating out the job expectations and the applicant requirements, I was able to create a much clearer set of screening rules for incoming applications, and also clearer expectations for candidates.

    Resumés are a poor tool for ranking candidates and deciding which candidates are worth the investment in a phone screen or interview. Resumés give facts about education or prior experience, but rarely make it clear whether somebody is an excellent engineer. To combat this, my team won’t be using only resumés as a screening tool. If a candidate matches basic criteria, such as living in a reasonable time zone and having demonstrated expertise in C++, JavaScript, or Python on their resumé or code samples, we will ask each candidate to submit a short written essay (like a blog post) describing their favorite debugging or profiling tool.

    Why did I pick an essay about a debugging or profiling tool? In my experience, every good coder has a toolbox, and as coders gain experience they are naturally better toolsmiths. I hope that this essay requirement will be good way to screen for programmer competence and to gauge expertise.

    With resumés, essays, and code samples in hand, Vladan and I will go through the applications and filter the applications. Each passing candidate will proceed to phone screens, to check for technical skill but more importantly to sell the candidate on the team and match them up with the best position. My goal is to exclude applications that don’t meet the requirements, not to rank candidates against each other. If there are too many qualified applicants, we will select a random sample for interviews. In order to make this possible, we will be evaluating applications in weekly batches.

    Interview Process

    To the extent possible, the interview format should line up with the job requirements. The typical Mozilla technical interview is five or six 45-minute 1:1 interview sessions. This format heavily favors people who can think quickly on their feet and who are personable. Since neither of those attributes is a requirement for this job, that format is a poor match. Here are the requirements in the job description that we need to evaluate during the interview:

    • Experience writing code. A college degree is not necessary or sufficient.
    • Expertise in any of C++, JavaScript, or Python.
    • Ability to learn new skills and solve unfamiliar problems effectively.
    • Experience debugging or profiling.
    • Good written and verbal communication skills.
    • Candidates must be located in North or South America, Europe, Africa, or the Middle East.

    This is the interview format that we came up with to assess the requirements:

    • A 15-minute prepared presentation on a topic related to the candidate’s prior experience and expertise. This will be done in front of a small group. A 30-minute question and answer session will follow. Assesses experience writing code and verbal communication skills.
    • A two-hour mentoring session with two engineers from the team. The candidate will be working in a language they already know (C++/JS/Python), but will be solving an unfamiliar problem. Assesses experience writing code, language expertise, and ability to solve unfamiliar problems.
    • A 45-minute 1:1 technical interview. This will assess some particular aspect of the candidate’s prior experience with technical questions, especially if that experience is related to optional/desired skills in the job description. Assesses specialist or general expertise and verbal communication.
    • A 45-minute 1:1 interview with the hiring manager. This covers a wide range of topics including work location and hours, expectations about seniority, and to answer questions that the candidate has about Mozilla, the team, or the specific role they are interviewing for. Assesses candidate location and desire to be part of the team.

    During the debrief and decision process, I intend to focus as much as possible on the job requirements. Rather than asking a simple “should we hire this person” question, I will ask interviewers to rate the candidate on each job requirement and responsibility, as well as any desired skillset. By orienting the feedback to the job description I hope that we can reduce the effects of unconscious bias and improve the overall hiring process.

    Conclusion

    This hiring procedure is experimental. My team and I have concerns about whether candidates will be put off by the essay requirement or an unusual interview format, and whether plagiarism will make the essay an ineffective screening tool. We’re concerned about keeping the hiring process moving and not introducing too much delay. After the first interview rounds, I plan on evaluating the process, and ask candidates to provide feedback about their experience.

    If you’re interested, check out my prior post, How I Hire At Mozilla.

    Categorieën: Mozilla-nl planet

    About:Community: MDN Contributor of the Month for April 2015: Julien (Sphinx)

    Mozilla planet - mo, 11/05/2015 - 11:02

    As part of the recently launched recognition program for Mozilla Developer Network, I’m pleased to announce that our first Contributor of the Month, for April 2015, is Julien (a.k.a. Sphinx).

    Julien (in the Batman t-shirt) with other Mozilla Francophone contributors at a localization sprint

    Julien (in the Batman t-shirt) with other Mozilla Francophone contributors at a localization sprint

    The MDN Contributor of the Month is selected from among those users who have been awarded an MDN Star badge for a “significant” contribution. Julien’s MDN Star badge was awarded for doing the “lion’s share” of effort to translate the entire JavaScript section of MDN into French. Many other contributors also helped in this effort, but Julien spent many nights and weekends over several months, translating JavaScript articles.

    The following is a lightly-edited interview with Julien, conducted via email.

    When and how did you get started contributing to MDN?

    When? During Spring in 2013 when I was studying in Edinburgh, where I had some time for my personal projects.

    How? I had already done a translation project with a French association called Framasoft (which closely related to Mozilla in terms of community here in France) and from one pad to another I ended up translating a small piece of article for mozilla-fr (mostly thanks to Goofy who was part of both projects). One thing leading to another, I discovered IRC, the nebula of Mozilla projects, and then MDN. After some edits, I discovered that the article about the <img> HTML tag was not available in French, so I localized it and that was it :)

    How does what you do on MDN affect other parts of your life, or vice versa?

    I’m not a developer but I have some background in IT and my job is about organizing projects with software, so I’d say it feels like two complementary part of what I want to learn and discover. With MDN, I can learn new things (like up-to-date JavaScript while localizing articles), see how an open project works, contribute to what I want, when I want. While at work, I can picture how this sometimes differs in companies where culture and methodologies are more classical. Both are really complementary in terms of skills, experience and knowledge.

    Regarding the time I spend, I tend to contribute during evenings, almost every day (instead of watching TV ;) ) Of course, it doesn’t have to be every day! One should just find the rythm he/she is comfortable with and go with this.

    And technically, MDN is affecting me with travels recently :) From Paris, to Berlin [for the Hack-on-MDN weekend] and Vancouver [for the Whistler work week], this is very exciting to meet people around MDN, whether they are employees or contributors and I’m very lucky to have these opportunities.

    What advice do you have for new contributors on MDN?

    Do hang out on IRC and ask questions [in the #mdn channel]. Do send an e-mail on the dev-mdc mailing list saying who you are and where you’d like to contribute. There are many people waiting to help you. If you prefer Twitter, go for it.

    Contributing to MDN (and to Mozilla in general) can be a bit confusing at the beginning since there is a lot of stuff going on: don’t worry about that!

    The MDN team is very helpful and looking forward to helping you :) See you soon on #mdn

    If you don’t know where to start, you can contribute to the Learning Area or localize the glossary in your language or simply go to the Getting Started guide.

    Categorieën: Mozilla-nl planet

    Karl Dubost: How To Contact Web Sites For Web Compatibility Issues

    Mozilla planet - mo, 11/05/2015 - 09:48

    A lot of the content in this document has already been written in How to do sites outreach?. Let's go over it again. There is no way to ensure a methodology which is 100% effective. A lot come from practices, hunch and patience.

    How To Behave?

    When it's time to track down someone to help get the fix implemented, it is useful to keep in mind a few tips on doing outreach:

    • Be tactful: People we are trying to reach have their own set of constraints, bosses, economic choices, etc. "Your web site sucks" will not lead anywhere, except NOT getting the site fixed.
    • Be humble: We are no better, we also do mistakes in our own practices. We recommend things which might change one day because of the technical/economical circumstances.
    • Let it go: Sometimes it just doesn't work. The person at the end of the other line may say "no" or worse, not answer. It can be very frustrating. Accept it and move on.
    • Be passionate: The passion is in being able to find the right contact in a company without harassing them. Every effort helps.
    • Share with consideration Share any contact you attempted or made in the issue comments section. It helps everyone to know the status so they can pitch in or not repeat work. That said - be careful to not disclose private information such as names and emails if these contacts were not found publicly. You may simply say: "I contacted someone at $COMPANY", "Someone from $COMPANY said this..."
    The Fabric Of Web Sites

    There's not one way of making Web sites. Some Web sites are made in-house by a team of Developers hired by the company itself. Sometimes there are projects which are created by multiple Web agencies (marketing and development).

    Scripts, images, design may come from different sources with their own source of bugs. A good analysis will provide a way to understand who you might want to reach out first. For example, a company Web site will use WordPress for the backend and a template from a third party company, the mistake is the template code. You will need then to get the template fixed and to have the company to update to the new version.

    Some sites have no budget anymore to be updated. Some sites have very precise release cycles based on a yearly schedule, sometimes more. Understanding the structure of the web site may help in some circumstances.

    Techniques For Finding Contacts Does the web site have a Twitter account?

    If the Twitter account seems to be run by a person, it can be a good start for initial contact. A twitter account with a real person behind usually answers the questions of people, check the Tweet & Replies section. Ask who you should contact with the fix.

    If the Twitter account is just broadcasting information, move on. You will lose time. Try to reach out through another mean.

    Does the web site have a support email or an issue tracker?

    This is a simple one, but there's no guarantee that your request will be addressed. Most of the time the responses are automatic but it's better than nothing. If in return you get an ID, reference number and/or a URI, put it in the issue comments. Sometimes bug reports are closed without notice. It really depends on who is behind the triage of the bug reporting system.

    Who/What is creating the web site?

    Going through digital marketing Web site and magazine might help in finding who (person) or what (Web marketing agency) created the Web site. While the person in charge of changing the site is at the company, the people who will be doing the work might be from an external agency. Finding out the agency might help you channel the information upstream to the company, if there are still in good terms.

    Search for a human

    It's wonderful when you can find the right person right away. But more often it's not the case. So the goal here is about finding someone who will be kind enough to lead you to the right person. Human networks are often more effective than the company process for dealing with customer issues.

    Some professions are more public than others. Some developers exposed themselves more than others. For example, developers such as Front-End developers, Web Designers, are easier to contact than backend or DB developers.

    Linkedin

    This doesn't necessary work with all countries, but worth trying. For example, in Japan and China it's a lot more difficult to find a contact through linkedin. You can start for example in your favorite search engine with: 'Web developer' $COMPANY_NAME site:linkedin.com. This will list names of people who are likely to work there, some of them in their profile will have contact information and often Twitter accounts, personal web sites or emails. Their linkedin username might be very similar to their username on other social networks.

    Once you reached a profile page, in the right column, you may found other people working at the same company. You will also notice that often people who puts their photos on the linkedin profile are often more reachable.

    'Web Developer' might not always be the right string to search. Depending on the countries, people will label themselves differently such as 'Web Engineer' or 'Software Developer'.

    Twitter

    Some people put their company affiliation in Twitter. Tweet or DM them if possible and ask who to contact. Always check if the Twitter account is active. Some people haven't used their account for ages. If so, move on.

    Slideshare

    When you can't find the information about a developer, you might want to try to search something such as $COMPANY_NAME site:slideshare.net or any appropriate keywords that will make you closer to a contact. Some companies have their developers speaking at conferences about issues with performances, etc. Be careful of talks related to sales or marketing. In the slides, there is often the contact information of the developer.

    Github

    Search by individual person or by company names. Many developers have either company projects online and/or their personal projects. As usual be careful to not abuse or harass people with your requests.

    When you find a company repository, check the most recent project, and you might find who are the recent committers on the code. These are the ones who are the most recently active and likely to respond to your request. The backend of Webcompat.com is provided by GitHub so you may want to comment with @username syntax to reach out a specific developer.

    Web designer

    Sometimes when you can't reach a web developer, you may try to reach web designers who have also their own type of social networks such as dribbble.com. Usually they have contacts with web developers and may be able to give an introduction. In some web agencies, the web designer will be a good initial contact. Again, be tactful and don't make the life of the web designer harder in his/her own company.

    Corporate emails

    This may work time to time. When you know the person is working in a specific company (You have last and first name), but you have been unable to find any contacts at all through twitter and so on. You might want to find out through search engines and/or people working at this company how the email addresses have been created. You may find that the pattern is firstname.lastname@company.example.org or lastnameF@, etc. You can try to send an email.

    The person will be probably surprised on how did you get the email address. So there is a risk to anger the person. Be gentle and just explain how you found the person.

    Try this email format tool.

    • whois. Some Web sites have their contact information in the whois of the Web site. It's becoming rarer and rarer, because people receive spam because of it.
    • Check the terms and conditions or privacy policy for email addresses. There could be hidden in long blocks of text so a search for @ is helpful. There may also be links in a website's footer to an investor or media relations page which could have a contact address, but be careful not to annoy the company by sending mails about bugs to addresses that are clearly not relevant (e.g. investors@example.com).
    • Friend of a friend. You are likely well connected in the industry. And it's why, if you are a Mozilla contributor in a specific country, you are a very important asset for the work we are doing. Local social networks in between companies is a lot denser. Search your LinkedIn, Twitter and Github for connections who might be connected to that company.
    • Find the home site. Sometimes a Web site belongs to a bigger company (think about a Game company with many brands, or a TV broadcaster, different services such as Google, Yahoo!, etc.), finding the home site will help understand the structure of the company and might lead to the department which is really in charge of the Web site.
    • Check for unique technologies that can search for. Sometimes you may have additional hints about the technology used on the Web site and the type of people related to the site through the hiring page of the company. In small company Web sites, you will discover the programming languages which are used, these will help reduce the search.
    Patience

    All of these techniques are not 100% perfect. They might fail more often than you wish. Sometimes you need to try multiple times and develop new techniques for finding the right person.

    If you have any other tips, recommendations on how to contact the right person, please come on IRC and tell us on freenode #webcompat and/or irc.mozilla.org #webcompat.

    Otsukare!

    Categorieën: Mozilla-nl planet

    Andy McKay: Stricter API filtering

    Mozilla planet - mo, 11/05/2015 - 09:00

    Django Rest Framework and Tastypie both provide REST queries and allow looking up lists of objects based on query parameters. In the former case it allows multiple back-ends, but defaults to using Django filter.

    That's a fine approach with one problem. Consider this:

    http://example.com/api/products?category=clothing

    You've got a reasonably good idea of what that will return. How about this one?

    http://example.com/api/products?categry=clothing

    What does that return? Everything. Because category got typo'd. Meaning that it was excluded from the filter and you didn't filter on anything at all. Ouch.

    Out of the box Django Rest Framework only allows GETs on lists. Even a GET that goes awry like that is bad. But you can use the bulk library to do PATCH, PUT and DELETE.

    DELETE http://example.com/api/products?categry=clothing

    That's really going to ruin your day. Kumar rightly complained about this so I threw in a simple filter to stop that.

    from rest_framework.exceptions import ParseError from rest_framework.filters import DjangoFilterBackend class StrictQueryFilter(DjangoFilterBackend): def filter_queryset(self, request, queryset, view): requested = set(request.QUERY_PARAMS.keys()) allowed = set(getattr(view, 'filter_fields', [])) difference = requested.difference(allowed) if difference: raise ParseError( detail='Incorrect query parameters: ' + ','.join(difference)) return (super(self.__class__, self) .filter_queryset(request, queryset, view))

    Once it's done alter: DEFAULT_FILTER_BACKENDS to point to that and make sure your filter_fields are correct.

    Now a typo'd query string will return you a 422 error.

    Categorieën: Mozilla-nl planet

    Andy McKay: Moving to GitHub issues

    Mozilla planet - mo, 11/05/2015 - 09:00

    Mozilla wasn't my first time using Bugzilla. About ten years earlier I worked at ActiveState and spent hours hacking away at Bugzilla with a certain David Ascher to produce an issue tracker for the company.

    That was forever ago, when I was a junior who knew nothing and found Bugzilla a bit of a mess. But that was ages ago, software improves and life moves on.

    We've used Bugzilla every day at Mozilla for Add-ons and the Marketplace. Actually came to like Bugzilla, sort of. But recently we had an opportunity to move onto a new project - and we decided to move issues to GitHub.

    Again I'm going to blame David Ascher who one day asked me "Have you tried putting your issues on GitHub?". I gave a list of reasons why not. Then later on I realised they were mostly bogus and the only real reason had become "Because that's what we've always done."

    The biggest reason I could think of is that GitHub is repository based. As an example... suppose there's a bug in Payments, where do I file an issue? The payments-server, the payments-ui, the payments-example repository? It's not project based. So we created a payments repository that's a catch all for issues and documentation. Problem solved.

    By moving to GitHub issues we've gained:

    • faster performance
    • better integration with our code and pull requests
    • ability to link-in other tools (e.g. http://waffle.io)
    • lose a whole pile of features, settings and flags we never use
    • lose getting told off for features that cross products, e.g. the time people removed [perf] off our bugs because that reserved for something in Firefox

    So far the things we've lost are:

    • ability to file security or Mozilla confidential bugs, but for that we just use Bugzilla

    But so far everything is great.

    My favourite thing is using waffle.io which provides us with a Kanban flow across multiple repos and is pretty awesome.

    I tried to use a similar tool with Bugzilla that an intern wrote. But surprise, the tool wasn't maintained, didn't always worked and I ended up maintaining it. I didn't want to do that, I just want good tools that other people maintain so I can ship my project.

    Oh the last downside? When GitHub goes down:

    If you are still reading this blog post, I strongly encourage you not to think about ditching Bugzilla, but to think about your entire tool chain set and find new tools and improvements when you can. Oh, and read Gregory Szorc's blog.

    Categorieën: Mozilla-nl planet

    Mike Taylor: CircleKSunkus and CSS Zoom

    Mozilla planet - mo, 11/05/2015 - 07:00

    In this, the Nth installation of the Weird World Wide Web Websites series we take a look at circleksunkus.jp, purveyor of fine Japanese soft drinks and snacks.

    If you load this site on a Firefox mobile browser you might think you're up against some old -webkit- prefixed flexbox code. Or maybe one of those fun edgecase float differences between WebKit and Gecko.

    screenshot of circlesunkus.jp website

    But nope, it's even weirder.

    //viewport $(window).bind('resize load', function(){ $("html").css("zoom" , $(window).width()/640 ); });

    They're using IE's olde non-standard CSS zoom property (that WebKit implemented back in the Safari 4 days) to retrigger a zoomed out layout on page load, which leads to a pretty harsh Flash of Un-Zoomed-Out Content (FOUZOC) if you're on a third world internet connection (like the ones we have here in Texas).

    Anyways, if you happen to work on circlesunkus.jp, here's how to do this the right way™:

    <meta name="viewport" content="width=640">

    More info in the webcompat bug.

    Categorieën: Mozilla-nl planet

    Akıllı TV'de Mozilla Firefox OS dönemi - Sözcü

    Nieuws verzameld via Google - mo, 11/05/2015 - 04:15

    Sözcü

    Akıllı TV'de Mozilla Firefox OS dönemi
    Sözcü
    Mozilla Firefox OS işletim sisteminin yer aldığı akıllı televizyonlar görücüye çıktı. Merakla beklenen televizyonların nasıl bir görünüme sahip olacağı gösterildi. Arayüzünde yuvarlak hatlarla dikkat çeken uygulamalar dikkat çekiyor. Canlı TV, yüklü ...

    en meer »
    Categorieën: Mozilla-nl planet

    Pages