Mozilla Nederland LogoDe Nederlandse

Doug Belshaw: 3 things to consider when designing a digital skills framework

Mozilla planet - ma, 25/01/2016 - 15:46

Learning to credential

The image above was created by Bryan Mathers for our presentation at BETT last week. It shows the way that, in broad brushstrokes, learning design should happen. Before microcredentials such as Open Badges this was a difficult thing to do as both the credential and the assessment are usually given to educators. The flow tends to go backwards from credentials instead of forwards from what we want people to learn.

But what if you really were starting from scratch? How could you design a digital skills framework that contains knowledge, skills, and behaviours worth learning? Having written my thesis on digital literacies and led Mozilla’s Web Literacy Map for a couple of years, I’ve got some suggestions.

 1. Define your audience

One of the most important things to define is who your audience is for your digital skills framework. Is it for learners to read? Who are they? How old are they? Are you excluding anyone on purpose? Why / why not?

You might want to do some research and work around user personas as part of a user-centred design approach. This ensures you’re designing for real people instead of figments of your imagination (or, worse still, in line with your prejudices).

It’s also good practice to make the language used in the skills framework as precise as possible. Jargon is technical language used for the sake of it. There may be times when it’s impossible not to use a word (e.g. ’meme’). If you do this then link to a definition or include a glossary. It’s also useful to check the ‘reading level’ of your framework and, if you really want a challenge, try using Up-Goer Five language.

 2. Focus on verbs

It’s extremely easy, when creating a framework for learning, to fall into the 'knowledge trap’. Our aim when creating the raw materials from which someone can build a curriculum is to focus on action. Knowledge should make a difference in practice.

One straightforward way to ensure that you’re focusing on action rather than head knowledge is to use verbs when constructing your digital skills framework. If you’re familiar with Bloom’s Taxonomy, then you may find The Differentiator useful. This pairs verbs with the various levels of Bloom’s.

 3. Add version numbers

A framework needs to be a living, breathing thing. It should be subject to revision and updated often. For this reason, you should add version numbers to your documentation. Ideally, the latest version should be at a canonical URL and you should archive previous versions to static URLs.

I would also advise releasing the first version of your framework not as 'version 1.0’ but as 'v0.1’. This shows that you’re willing for others to provide input, that there will be further versions, and that you know you haven’t got it right first time (and forevermore).

Questions? Comments? Ask me on Twitter (@dajbelshaw). I also consult around this kind of thing, so hit me up on

Categorieën: Mozilla-nl planet

Mozilla Fundraising: Why did you decide to donate today?

Mozilla planet - ma, 25/01/2016 - 14:31
This year, we asked some of our donors why they decided to donate to our end of year fundraising campaign. The Survey The Audience The survey was shown to a random sample of donors whose browser language was set to … Continue reading
Categorieën: Mozilla-nl planet

Mozilla verschiebt erneut die Signaturpflicht für Add-Ons - Pro-Linux

Nieuws verzameld via Google - ma, 25/01/2016 - 14:06


Mozilla verschiebt erneut die Signaturpflicht für Add-Ons
Im Mozilla Blog wird nun eine Verlängerung dieser Frist bis zum voraussichtlichen Erscheinungstermin von Firefox 46 am 19. April 2016 bekannt gegeben. Das Blog nennt zwei Gründe für die Verschiebung: Mit Firefox 45 wird für Entwickler die Möglichkeit ...

Google Nieuws
Categorieën: Mozilla-nl planet

Mozilla co-founder launches new browser 'Brave' - Times of India

Nieuws verzameld via Google - ma, 25/01/2016 - 13:51

Times of India

Mozilla co-founder launches new browser 'Brave'
Times of India
Mozilla co-founder and creator of JavaScript programming language Brendan Eich has unveiled his latest project: A web browser that blocks ads by default. Called Brave, the open-source browser works on personal computers running Microsoft's Windows ...
Mozilla's Founder Wants to Block Ads on Mobile So He Can Serve You Different ...Motherboard
Ex-CEO of Mozilla launches new web browser called BraveNeowin
'Brave' Browser from Mozilla Co-Founder Serves Anonymous AdsNewsFactor Network
Digital Journal -Laurel Leader Call
alle 20 nieuwsartikelen »
Categorieën: Mozilla-nl planet

Verplichte ondertekening add-ons in Firefox weer even van de baan - AutomatiseringGids

Nieuws verzameld via Google - ma, 25/01/2016 - 09:34

Verplichte ondertekening add-ons in Firefox weer even van de baan
Met deze ondertekeningen probeert Mozilla het aantal bugs en de hoeveelheid malware in add-ons zo klein mogelijk te houden. Het bedrijf is al een jaar bezig over te stappen naar ondertekende add-ons. IVanaf versie 43 is ondertekening al verplicht bij ...

en meer »
Categorieën: Mozilla-nl planet

Andy McKay: Robbie Burns

Mozilla planet - ma, 25/01/2016 - 09:00

Tonight is Robbie Burns night, in honour of that great Scottish poet. But tonight had me thinking about another night in my past.

It was about 5 years ago, maybe less, I struggle to remember now. I was in the UK visiting family and my Dad was sick. Cancer and it's treatment is tough, you have good weeks, you have bad weeks and you have really fucking bad weeks. This was a good week and for some reason I was in the UK.

Myself, my brother and my sister-in-law went down to see him that night. It was Robbie Burns night and that meant an excuse for haggis, really, truly terrible scotch, Scottish dancing and all that. There are many times when I look back at time with my Dad in those last few years. This was definitely one of those times. He was my Dad at his best, cracking jokes and having fun. Living life to the absolute fullest, while you still have that chance.

We had a great night. That ended way too soon.

Not long after that the cancer came back and that was that.

But suddenly tonight, in a bar in Portland I had these memories of my Dad in a waistcoat cracking jokes and having fun on Robbie Burns night. No-one else in the bar seemed to know what night it was. You'd think Robbie Burns night might get a little bit more appreciation, but hey.

In the many years I've been running this blog I've never written about my Dad passing away. Here's the first time. I miss him.

Hey Robbie Burns? Thanks for making me remember that night.

Categorieën: Mozilla-nl planet

Mozilla、未署名アドオンを許可するオプションの廃止を「Firefox 46」まで延期 - 窓の杜

Nieuws verzameld via Google - ma, 25/01/2016 - 08:36


Mozilla、未署名アドオンを許可するオプションの廃止を「Firefox 46」まで延期
Mozillaは「Firefox 43」以降、「Firefox」アドオンにデジタル署名を義務付けており、初期状態で未署名のアドオンは自動的に無効化されるようになった。この要件は“about:config”画面で“xpinstall.signatures.required”オプションを無効化することで解除できるが、同オプションも ...

Google Nieuws
Categorieën: Mozilla-nl planet

This Week In Rust: This Week in Rust 115

Mozilla planet - ma, 25/01/2016 - 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 an email! 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.

This week's edition was edited by: nasa42, brson, and llogiq.

Updates from Rust Community News & Blog Posts Notable New Crates & Project Updates
  • Are we concurrent yet?
  • GFX epic rewrite for the Pipeline State Objects paradigm has landed, described on the blog.
  • Herbie. A rustc plugin to check for numerical instability.
  • Dynamo. A rusty dynamically typed scripting language.
  • rust-vnc. An implementation of VNC protocol, client state machine and a client.
Updates from Rust Core

129 pull requests were merged in the last week.

See the triage digest and subteam reports for more details.

Notable changes New Contributors
  • Adrian Heine
  • Andrea Bedini
  • Guillaume Bonnet
  • Kamal Marhubi
  • Keith Yeung
  • Marc Bowes
  • Martin
  • mopp
  • Olaf Buddenhagen
  • Paul Dicker
  • Peter Kolloch
  • Stephen (Ziyun) Li
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 Upcoming Events

If you are running a Rust event please add it to the calendar to get it mentioned here. Email Erick Tryzelaar or Brian Anderson for access.

fn work(on: RustProject) -> Money

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

Crate of the Week

This week's Crate of the Week is racer which powers code completion in all Rust development environments.

Thanks to Steven Allen for the suggestion.

Submit your suggestions for next week!

Quote of the Week

Memory errors are fundamentally state errors, and Rust's move semantics, borrowing, and aliasing XOR mutating help enormously for me to reason about how my program changes state as it executes, to avoid accidental shared state and side effects at a distance. Rust more than any other language I know enables me to do compiler driven design. And internalizing its rules has helped me design better systems, even in other languages.

desiringmachines on /r/rust.

Thanks to dikaiosune for the suggestion.

Submit your quotes for next week!

Categorieën: Mozilla-nl planet

تنزيل متصفح موزيلا فايرفوكس + Mozilla Firefox & تحميل برنامج التصفح ... - 24 نيوز (بيان صحفي) (مدوّنة)

Nieuws verzameld via Google - zo, 24/01/2016 - 18:05

24 نيوز (بيان صحفي) (مدوّنة)

تنزيل متصفح موزيلا فايرفوكس + Mozilla Firefox & تحميل برنامج التصفح ...
24 نيوز (بيان صحفي) (مدوّنة)
تنزيل متصفح موزيلا فايرفوكس + Mozilla Firefox & تحميل برنامج التصفح “فايرفوكس” اخر تحديث .. تنزيل متصفح فاير فوكس الاحد 24/1/2016م. تنزيل متصفح موزيلا فايرفوكس + Mozilla Firefox & تحميل برنامج التصفح “فايرفوكس” اخر تحديث .. تنزيل ...

en meer »Google Nieuws
Categorieën: Mozilla-nl planet

Mozilla's Founder Wants to Block Ads on Mobile So He Can Serve You Different ... - Motherboard

Nieuws verzameld via Google - zo, 24/01/2016 - 17:09


Mozilla's Founder Wants to Block Ads on Mobile So He Can Serve You Different ...
Ad blockers are becoming increasingly common, but if you're an avid reader, maybe you feel a little twinge of guilt at depriving your favorite website the smidgen of revenue it earns off your clicks. Brendan Eich, the co-founder of Mozilla and inventor ...

Categorieën: Mozilla-nl planet

Mozilla's Founder Wants to Block Ads on Mobile So He Can Serve You Different ... - Motherboard

Nieuws verzameld via Google - zo, 24/01/2016 - 17:09


Mozilla's Founder Wants to Block Ads on Mobile So He Can Serve You Different ...
Ad blockers are becoming increasingly common, but if you're an avid reader, maybe you feel a little twinge of guilt at depriving your favorite website the smidgen of revenue it earns off your clicks. Brendan Eich, the co-founder of Mozilla and inventor ...
Ex-CEO of Mozilla launches new web browser called BraveNeowin
'Brave' Browser from Mozilla Co-Founder Serves Anonymous AdsNewsFactor Network
Brave web browser has automatic ad block, built by ex-Mozilla CEODigital Journal
Laurel Leader Call
alle 16 nieuwsartikelen »
Categorieën: Mozilla-nl planet

Mozilla再度延迟实施火狐浏览器附加组件强制签名 - cnBeta

Nieuws verzameld via Google - zo, 24/01/2016 - 16:56


Mozilla火狐浏览器团队已经宣布,再度延迟实施火狐浏览器附加组件强制签名。在这个过程中,Mozilla会审查每个插件并给予它正式批准印章,即所谓强制签名。根据新的时间表,火狐浏览器附加组件强制签名将从Firefox 46开 ...

en meer »Google Nieuws
Categorieën: Mozilla-nl planet

Mozilla stelt definitief verplichte ondertekening add-ons in Firefox verder uit - Tweakers

Nieuws verzameld via Google - zo, 24/01/2016 - 15:42

Mozilla stelt definitief verplichte ondertekening add-ons in Firefox verder uit
Mozilla stelt het verplicht maken van een ondertekening van het bedrijf bij add-ons uit tot versie 46 van de Firefox-browser. De ontwikkelaar wil onder andere eerst een add-on-gerelateerde functionaliteit in Firefox 45 introduceren alvorens de ...

Categorieën: Mozilla-nl planet

Mozilla Delays Add-Ons Signing in Firefox Once Again - Softpedia News

Nieuws verzameld via Google - zo, 24/01/2016 - 14:45

Softpedia News

Mozilla Delays Add-Ons Signing in Firefox Once Again
Softpedia News
The Mozilla team has announced, yet again, it will be delaying the implementation of mandatory add-ons signing in Firefox. Add-on signing is the process through which Mozilla reviews each add-on and gives it its official seal of approval. According to ...

en meer »
Categorieën: Mozilla-nl planet

Mike Conley: The Joy of Coding (Ep. 11): Cleaning up the View Source Patch

Thunderbird - za, 25/04/2015 - 23:22

For this episode, Richard Milewski and I figured out the syncing issue I’d been having in Episode 9, so I had my head floating in the bottom right corner while I hacked. Now you can see what I do with my face while hacking, if that’s a thing you had been interested in.

I’ve also started mirroring the episodes to YouTube, if YouTube is your choice platform for video consumption.

So, like last week, I was under a bit of time pressure because of a meeting scheduled for 2:30PM (actually the meeting I was supposed to have the week before – it just got postponed), so that gave me 1.5 hours to move forward with the View Source work we’d started back in Episode 8.

I started the episode by explaining that the cache key stuff we’d figured out in Episode 9 was really important, and that a bug had been filed by the Necko team to get the issue fixed. At the time of the video, there was a patch up for review in that bug, and when we applied it, we were able to retrieve source code out of the network cache after POST requests! Success!

Now that we had verified that our technique was going to work, I spent the rest of the episode cleaning up the patches we’d written. I started by doing a brief self-code-review to smoke out any glaring problems, and then started to fix those problems.

We got a good chunk of the way before I had to cut off the camera.

I know back when I started working on this particular bug, I had said that I wanted to take you through right to the end on camera – but the truth of the matter is, the priority of the bug went up, and I was moving too slowly on it, since I was restricting myself to a few hours on Wednesdays. So unfortunately, after my meeting, I went back to hacking on the bug off-camera, and yesterday I put up a patch for review. Here’s the review request, if you’re interested in seeing where I got to!

I felt good about the continuity experiment, and I think I’ll try it again for the next few episodes – but I think I’ll choose a lower-priority bug; that way, I think it’s more likely that I can keep the work contained within the episodes.

How did you feel about the continuity between episodes? Did it help to engage you, or did it not matter? I’d love to hear your comments!

Episode Agenda


Bug 1025146 – [e10s] Never load the source off of the network when viewing sourceNotes

Categorieën: Mozilla-nl planet

Meeting Notes: Thunderbird: 2015-04-21

Thunderbird - wo, 22/04/2015 - 05:00

Thunderbird meeting notes 2015-04-21. NOON PT (Pacific). Check for meeting time conversion, previous meeting notes and call-in details


ATTENDEES – put your nick 1. below 2. in comments unless explicit under round table 3. top right of etherpad next to your color

mkmelin, rolandt, pegasus, makemyday jorgk, rkent, gneandr, aceman, merike, Paenglab, wsmwk

Action items from last meetings
  • (rkent, Fallen) AMO addon compat: TheOne said that this late it is probably not worth doing at all. WIth so many other things for me to do, that sounds like a plan.
Friends of the tree
  • glandium, for fixing the various packager bugs that will help package Lightning (nominated by Fallen, who won’t be at the meeting)
Critical Issues

Critical bugs. Leave these here until they’re confirmed fixed. If confirmed, then remove.

  • (rkent) I am enormously frustrated by the inability to get two critical features landed in tb 38: OAuth and Lightning integration. Can we please give this very high priority?
    • OAuth integration: partial landing for beta 2, really REALLY critical that we get this finished.
  • In general, the tracking-tb38 flag shows what are critical issues. In the next week or so, that list will be culled to only include true blockers for the Thunderbird 38 release. There will still be many.
  • I don’t think we have a reasonable chance of shipping a quality release on May 12. More realistic is June 2.
  • We need to decide on how to do release branching. I am uncertain whether Lightning integration requires this or not.
  • Auto-complete improvements – some could go into esr31 (bug 1042561 included in TB38)
  • Lightning integration (below) really REALLY critical that we get this finished.
  • maildir UI: nothing more to do for UI, still want to land a patch for letting IMAP set this.
  • gloda IM search regressions: mostly fixed, some db cleanup necessary for users of TB33+ that nhnt11 will hopefully have ready to land soon.
    • aleth landed a fix to stop duplicated entries from appearing, nhnt11 will take care of the cleaning up the databases of Aurora/Beta/Daily users this weekend and keep us updated
  • bug 1140884, might need late-l10n

removing from critical list/fixed:

  • ldap crash bug 1063829: a patch in beta 37, beta results are unclear – not seen in 38
  • bug 1064230 crashes during LDAP search made worse by Search All Addressbooks bug 170270, needs tracking 38+ and review?rkent/jcranmer – not seen in 38
  • everyone should probably skim version 31-38 regressions for items they can help fix or direct to the right people
  • Past
    • 31.6.0 shipped
    • 38.0b1 shipped 2015-04-03
    • 38.0b2 shipped 2015-04-20
  • Upcoming
    • 38.0b3 (when?)
Lightning to Thunderbird Integration


  • As underpass has pointed out repeatedly (thanks for your patience!) , we need to rewrite / heavily modify the lightning articles on let me know irc: rolandtanglao on #tb-support-crew or rtanglao AT OR simply start editing the articles

Unfortunately not much progress because I was away. I hope to have the packaging bits done until the weekend. Glandium did a great job on the changes, hence I nominated him for Friends of the Tree. (fallen)

MakeMyDay should comment on the opt-out dialog, I think we should get it landed asap. bug 1130852 – Opt-Out dialog had some discussion on prefs

Round Table wsmwk
  • managed shipping of 31.6.0, 38.0b1, 38.0b2
Jorg K rkent
  • We have the beginnings of a business development group (rkent, wsmwk, magnus) that after signing NDAs will be given access to Thunderbird business documentation.
  • bug 1134986 autocomplete bug investigated and landed on trunk +++
aceman Question Time

— PLEASE INCLUDE YOUR NICK with your bullet item —

  • What happened to the Avocet branding? (Jorg K)
    • won’t be persued
  • Info about the meeting with Mitchell Baker on 20th March 2015, funding issues (Jorg K)
  • can we get hiro’s bugs reassigned so the patches contained can get landed, and not lost? (wsmwk)
  • It would be great if some jetpack add-on support were available in thunderbird to share functionality with firefox and fennec. See also bug 1100644. No useful jetpack add-ons seem to exist for thunderbird (earlybird would be fine to use jpm over cfx). Are there any jetpack add-ons available to prove me wrong?

(pegasus) Is it worth looking at going to a 6-week release schedule to avoid the conundrum with getting not-quite-ready features in vs delaying?

Support team
  • Reminder: Roland is leaving Thunderbird May 12, 2015 after the release of Thunderbird 38: working on Thunderbird 38 plan and finally kickstarting Thunderbird User Success Council
    • looking for 3 people: English KB Article Editor, L10N Coordinator and Forum Lead. Is that you we’re looking for? If so email rtanglao AT or ping  :rolandtanglao in #sumo or #tb-support-crew
  • Note – meeting notes must be copied from etherpad to wiki before 5AM CET next day so that they will go public in the meeting notes blog.
Action Items
  • wsmwk to pat glandium
  • wsmwk to email hiro’s bug list to tb-planning
  • rkent to review tracking list
Retrieved from “

Categorieën: Mozilla-nl planet

Rumbling Edge - Thunderbird: 2015-04-20 Calendar builds

Thunderbird - wo, 22/04/2015 - 04:17

Common (excluding Website bugs)-specific: (6)

  • Fixed: 1003196 – Add icons to more imip bar buttons
  • Fixed: 1137673 – extra divider in the options menu of new task dialog
  • Fixed: 1146500 – Wrong first occurrence for monthly recurrence with BYDAY and BYMONTHDAY
  • Fixed: 1150707 – Make use of tags for running only icaljs/libcal tests
  • Fixed: 1150882 – Lightning incorrectly unified after bug 1143163
  • Fixed: 1151404 – Nightly Windows x64 lightning hits 404 when updating

Sunbird will no longer be actively developed by the Calendar team.

Windows builds Official Windows

Linux builds Official Linux (i686), Official Linux (x86_64)

Mac builds Official Mac

Categorieën: Mozilla-nl planet

Rumbling Edge - Thunderbird: 2015-04-20 Thunderbird comm-central builds

Thunderbird - wo, 22/04/2015 - 04:16

Thunderbird-specific: (27)

  • Fixed: 768480 – Mac OSX TB 13 crashes in nsMsgDBFolder::CreateFileForDB when going online. Caused by folder subscribed on server that no longer exists?
  • Fixed: 849540 – Log in to Gmail (IMAP/SMTP) using OAuth in backend
  • Fixed: 939462 – Feature to count and show number of unread e-mails in subfolders should be optional. (because enumeration is slow)
  • Fixed: 1054308 – Investigate switching Thunderbird comm-central MozMill tests to mozharness
  • Fixed: 1118263 – C-C TB: JavaScript 1.6’s for-each-in loops are deprecated in accountprovisioner and about-support
  • Fixed: 1130852 – Add opt-out notification for calendar integration
  • Fixed: 1134234 – resource://app/modules/gloda/mimemsg.js should be resource:///modules/gloda/mimemsg.js in /mail/test/mozmill/shared-modules/test-message-helpers.js
  • Fixed: 1134986 – Address autocomplete sorting wrong – appears to ignore recent use (popularityindex) information in 31.4.0+
  • Fixed: 1138478 – ‘Write’ toolbar button disabled/greyed out after opening the menus in the Saved Files tab
  • Fixed: 1139524 – Font indicator doesn’t update when cursor is placed in text with this font
  • Fixed: 1140720 – Error reading font prefs in the Slovenian locale
  • Fixed: 1145970 – Port Bug 1005105 to TB [Remove noise from tab textures]
  • Fixed: 1145974 – Move more styles to shared addressbook.css
  • Fixed: 1147006 – TB shows instructions with [File] – [Offline] – [Synchronize] instead of [Download/Sync Now]
  • Fixed: 1147526 – Port Bug 1147311: migrateUI() should migrate to a supported value
  • Fixed: 1148369 – “invalid ‘in’ operand colState” when switching folders
  • Fixed: 1148503 – TEST-UNEXPECTED-FAIL | toolkit/components/telemetry/tests/unit/test_TelemetryPing.js | xpcshell return code: 0
  • Fixed: 1149275 – Ensure newly opened conversations get focused
  • Fixed: 1150051 – C-C TB: EXCEPTION: formatted size is not numeric: ‘Read’
  • Fixed: 1150073 – C-C TB: Exception: Found visible column ‘correspondentCol’ but was expecting ‘recipientCol’!
  • Fixed: 1151223 – Reorder mail’s to minimize differences to browser’s version
  • Fixed: 1152045 – Email address missing from “From” field on emails sent through Thunderbird 38 if the identityName pref was set
  • Fixed: 1152852 – Notification sound for highlights in chats not played if chat tab is selected, even when Thunderbird is not the currently active/focused application (in background)
  • Fixed: 1153511 – TEST-UNEXPECTED_FAIL | | build file copies are not in sync: differing file: ./win32/mozconfig.vs2013-win64
  • Fixed: 1153551 – Priority button : description missing
  • Fixed: 1154799 – “this._browser.messageManager is undefined” error just by starting Thunderbird
  • Fixed: 1156049 – Port ‘Bug 1155476 – Update sccache to 155c926’ to fix failure.

MailNews Core-specific: (30)

  • Fixed: 306035 – mail server appended to usernames with “@” (Password dialog for IMAP says <alias>@<domain>@<mailserver> instead of <alias>@<domain> on(at/…) <mailserver>)
  • Fixed: 662907 – web site from RSS feed not rendered correctly (due to noscript tags)
  • Fixed: 810495 – Make the classes which use the XPCOM nsISupports implementation macros final, to avoid the warning about deleting using a pointer to a base class with virtual functions and no virtual dtor
  • Fixed: 1123124 – Remove use of expression closures in mailnews/
  • Fixed: 1126607 – Kill the LDAP build system
  • Fixed: 1132218 – Update comm-central for PLDHashTable changes in bug 1131901
  • Fixed: 1139167 – Some birthdays are off by one day in Thunderbird’s addressbook
  • Fixed: 1139965 – Implement function to export addressbook in vCard format
  • Fixed: 1140652 – deduplicate some JS code writing out a simple string to a file in profile
  • Fixed: 1140884 – An error occurred while sending mail garbled
  • Fixed: 1141735 – unaligned labels in the LDAP server Advanced properties tab
  • Fixed: 1144621 – mimemsg.cpp might leak memory in some instances
  • Fixed: 1144719 – Allow the user to decide whether or not to use libnotify for new-mail alerts on Linux
  • Fixed: 1148887 – Message string for SMTP server connection error is incorrect. File:, key: smtpSendRefused
  • Fixed: 1148888 – Message string for SMTP server connection error is incorrect. File:, key: smtpAuthNotSupported
  • Fixed: 1148957 – Port bug 1148463 by backing out bug 1144128: temporarily disable new performance tools for Aurora uplift
  • Fixed: 1149247 – remove deprecated for-each-in loops in the account manager and account wizard
  • Fixed: 1150176 – Remove nsMemory::Alloc/Free/Realloc from c-c following their removal in bug 1134920
  • Fixed: 1150967 – Port Bug 1147839 to comm-central – Fix building installer on mingw by only including helper.exe if mknsisu is used
  • Fixed: 1150981 – Port Bug 674779 to comm-central – Add per-compartment CPU accounting
  • Fixed: 1151002 – Port Bug 1120308 to comm-central – [Presentation WebAPI] control protocol establishment and offer-answer exchange
  • Fixed: 1151181 – uninitialized error string in mailnews/extensions/mdn/src/nsMsgMdnGenerator.cpp
  • Fixed: 1152287 – TEST-UNEXPECTED-FAIL | crypto | Failed to find the appropraite data_path
  • Fixed: 1153187 – Build process is broken while reticulating splines “Variable SHARED_LIBRARY_LIBS” involved.
  • Fixed: 1153543 – when adding a new identity, the smtp server menulist is collapsed with no default item selected
  • Fixed: 1153557 – do away with preprocessing in am-identity-edit.js due to identity.autocompleteToMyDomain
  • Fixed: 1154468 – unused function getServerIdAndPageIdFromTree in am-identity-edit.xul
  • Fixed: 1155951 – Fix a non-array delete for scalars
  • Fixed: 1155953 – Remove Structurally dead code in nsNNTPProtocol.cpp
  • Fixed: 1155955 – remove a self assignment in nsImapUtils.cpp

Windows builds Official Windows, Official Windows installer

Linux builds Official Linux (i686), Official Linux (x86_64)

Mac builds Official Mac

Categorieën: Mozilla-nl planet

Mike Conley: Things I’ve Learned This Week (April 13 – April 17, 2015)

Thunderbird - zo, 19/04/2015 - 00:33
When you send a sync message from a frame script to the parent, the return value is always an array


// Some contrived code in the browser let browser = gBrowser.selectedBrowser; browser.messageManager.addMessageListener("GIMMEFUE,GIMMEFAI", function onMessage(message) { return "GIMMEDABAJABAZA"; }); // Frame script that runs in the browser let result = sendSendMessage("GIMMEFUE,GIMMEFAI"); console.log(result[0]); // Writes to the console: GIMMEDABAJABAZA

From the documentation:

Because a single message can be received by more than one listener, the return value of sendSyncMessage() is an array of all the values returned from every listener, even if it only contains a single value.

I don’t use sync messages from frame scripts a lot, so this was news to me.

You can use [cocoaEvent hasPreciciseScrollingDeltas] to differentiate between scrollWheel events from a mouse and a trackpad

scrollWheel events can come from a standard mouse or a trackpad1. According to this Stack Overflow post, one potential way of differentiating between the scrollWheel events coming from a mouse, and the scrollWheel events coming from a trackpad is by calling:

bool isTrackpad = [theEvent hasPreciseScrollingDeltas];

since mouse scrollWheel is usually line-scroll, whereas trackpads (and Magic Mouse) are pixel scroll.

The srcdoc attribute for iframes lets you easily load content into an iframe via a string

It’s been a while since I’ve done web development, so I hadn’t heard of srcdoc before. It was introduced as part of the HTML5 standard, and is defined as:

The content of the page that the embedded context is to contain. This attribute is expected to be used together with the sandbox and seamless attributes. If a browser supports the srcdoc attribute, it will override the content specified in the src attribute (if present). If a browser does NOT support the srcdoc attribute, it will show the file specified in the src attribute instead (if present).

So that’s an easy way to inject some string-ified HTML content into an iframe.

Primitives on IPDL structs are not initialized automatically

I believe this is true for structs in C and C++ (and probably some other languages) in general, but primitives on IPDL structs do not get initialized automatically when the struct is instantiated. That means that things like booleans carry random memory values in them until they’re set. Having spent most of my time in JavaScript, I found that a bit surprising, but I’ve gotten used to it. I’m slowly getting more comfortable working lower-level.

This was the ultimate cause of this crasher bug that dbaron was running into while exercising the e10s printing code on a debug Nightly build on Linux.

This bug was opened to investigate initializing the primitives on IPDL structs automatically.

Networking is ultimately done in the parent process in multi-process Firefox

All network requests are proxied to the parent, which serializes the results back down to the child. Here’s the IPDL protocol for the proxy.

On bi-directional text and RTL

gw280 and I noticed that in single-process Firefox, a <select> dropdown set with dir=”rtl”, containing an <option> with the value “A)” would render the option as “(A”.

If the value was “A) Something else”, the string would come out unchanged.

We were curious to know why this flipping around was happening. It turned out that this is called “BiDi”, and some documentation for it is here.

If you want to see an interesting demonstration of BiDi, click this link, and then resize the browser window to reflow the text. Interesting to see where the period on that last line goes, no?

It might look strange to someone coming from a LTR language, but apparently it makes sense if you’re used to RTL.

I had not known that.

Some terminal spew Some terminal spew

Now what’s all this?

My friend and colleague Mike Hoye showed me the above screenshot upon coming into work earlier this week. He had apparently launched Nightly from the terminal, and at some point, all that stuff just showed up.

“What is all of that?”, he had asked me.

I hadn’t the foggiest idea – but a quick DXR showed inside Breakpad, the tool used to generate crash reports when things go wrong.

I referred him to bsmedberg, since that fellow knows tons about crash reporting.

Later that day, mhoye got back to me, and told me that apparently this was output spew from Firefox’s plugin hang detection code. Mystery solved!

So if you’re running Firefox from the terminal, and suddenly see some stuff show up… a plugin you’re running probably locked up, and Firefox shanked it.

  1. And probably a bunch of other peripherals as well 

Categorieën: Mozilla-nl planet

Mike Conley: The Joy of Coding (Ep. 10): The Mystery of the Cache Key

Thunderbird - za, 18/04/2015 - 23:40

In this episode, I kept my camera off, since I was having some audio-sync issues1.

I was also under some time-pressure, because I had a meeting scheduled for 2:30 ET2, giving me exactly 1.5 hours to do what I needed to do.

And what did I need to do?

I needed to figure out why an nsISHEntry, when passed to nsIWebPageDescriptor’s loadPage, was not enough to get the document out from the HTTP cache in some cases. 1.5 hours to figure it out – the pressure was on!

I don’t recall writing a single line of code. Instead, I spent most of my time inside XCode, walking through various scenarios in the debugger, trying to figure out what was going on. And I eventually figured it out! Read this footnote for the TL;DR:3

Episode Agenda


Bug 1025146 – [e10s] Never load the source off of the network when viewing sourceNotes

  1. I should have those resolved for Episode 11! 

  2. And when the stream finished, I found out the meeting had been postponed to next week, meaning that next week will also be a short episode. :( 

  3. Basically, the nsIChannel used to retrieve data over the network is implemented by HttpChannelChild in the content process. HttpChannelChild is really just a proxy to a proper nsIChannel on the parent-side. On the child side, HttpChannelChild does not implement nsICachingChannel, which means we cannot get a cache key from it when creating a session history entry. With no cache key, comes no ability to retrieve the document from the network cache via nsIWebDescriptor’s loadPage. 

Categorieën: Mozilla-nl planet