Meeting Notes from the Mozilla communityMobile Meeting Minutes: 2012-02-22

Mobile/Notes/22-Feb-2012

Contents

Details

  • Wednesdays – 9:30am Pacific, 12:30pm Eastern, 16:30 UTC

  • Dial-in: conference# 95312
    • US/International: +1 650 903 0800 x92 Conf# 95312

    • US toll free: +1 800 707 2533 (pin 369) Conf# 95312
    • Canada: +1 416 848 3114 x92 Conf# 95312
  • irc.mozilla.org #mobile for backchannel
  • Warp Core Vidyo Room

Schedule

  • Next merge is 2012-03-13

Major Topics for This Week

Release Roadmap
Fx 11 XUL is going to Beta channel. Fx 10 XUL ESR is going to the Release channel.

Release Focus
With less than 3 weeks until the next merge, we need to make sure we are on track to meet our release goals. These include: Fast rendering & panning with minimal checkerboarding; Sync support on par with current releases; Responsive UI; and high stability.

MWC Focus
We need to make sure we with have acceptable support for the MWC demos.

Stand ups

Suggested format:

  • What did you do last week?

  • What are working on this week?
  • Anything blocking you?

Please keep your update to under 2 minutes!

James W. (snorp)
Kats
  • Last week

    • Did some work on the maple branch – ripped out a lot of unused code and am now working on viewport prediction

    • Also was away on PTO for a while
  • This week

    • Get an idea of how much viewport prediction will help us and get it hooked up

    • More work on reducing checkerboarding
GBrown

Last week:

  • Robocop reviews: Keep those UI tests coming!

  • xpcshell-via-SUT: Just waiting on a dependent bug.
  • oprofile appears to be available in engineering build on ICS…but I can’t get any samples: http://pastebin.mozilla.org/1489755

Next week:

  • Try to get oprofile samples
AlexP
Chris Lord (cwiiis)
  • Last Week

    • Being ill

    • Interviewing
    • bug 726817 – Websites are cut off in Maple
    • Reviews
  • This week

    • bug 709813 – DOM Fullscreen mode doesn’t work (in m-c and maple)

    • bug 729391 – Checkerboarding on Maple (meta-bug)
    • bug 729534 – Buffer rotation appears to be broken on engadget
    • Reviews
Chris Peterson
  • Last Week

    • bug 681192 – Investigated romaxa’s patches to avoid layer invalidation when scrolling

    • bug 706891 – Made axis scroll lock unbreakable (like XUL Fennec)
  • This Week

    • bug 715251 – Reduce overscroll distance and janky scrolling — Implementing review feedback

    • bug 708167 – Profile about:home time without Placeholder initialization — Waiting for bug 723251
    • Investigating IME bugs
GCP
  • Last week:

    • bug 726002 Potential OOM in new UrlClassifier.

    • bug 727264 java.lang.ClassCastException: java.lang.Integer at ProfileMigrator.java:196 if Background Data is turned off
    • bug 726024 Some of the desktop bookmarks are put under “Mobile Bookmarks” after profile migration
  • This week:
    • bug 726821 SQLiteBridge should return a cursor

    • bug 721898 – Truncate History to 300 items in BrowserProvider
    • bug 725150 – Need logic to prevent sync and profile migration happening at the same time
    • bug 725900 – Don’t start profile migration if we have been launched from an intent
    • bug 721352 – Add support for batch operations in LocalDB
    • Prolly have another UrlClassifier bug incoming. Or two.
  • Blockers:
    • None
Brian N
  • Done

    • PTO

    • Robocop tests
    • bug 725609 – Bookmarklets don’t work in Fennec Native
    • bug 727973 – Remove notifyChange from LocalBrowserDB
  • Next
    • More tests

    • More bugs
  • Blockers
    • bug 725990 – Add capability to link from notification

      • blocks bug 725987 – Create Telemetry (opt-out) notification for Nightly and Aurora (mobile)
Sriram
  • Last week:

    • Fixed fullscreen support for honeycomb+ bug 727610

    • Cleaned up using DisplayMetrics and Configuration in Java bug 727628
    • Exploring ways to use messages with Handler bug 727307
    • Making tabs-tray show tabs added in background (when tabs-tray is being displayed) bug 727930
  • This week:
    • Fixed about:home is blank bug 728240

      • This probably fixed native crash on BrowserToolbar bug 729219
    • Cleaning up about:home to start with content branded about:home pages
  • Blockers:
    • None.
WesJ
  • Last week

    • Patches and tests for form history and passwords

    • Fixed some video controls problems
  • This week

    • More video controls fixes

    • Touch events fixes
    • Review comments on form history
  • Blocked

    • Passwords is blocked on a review.
LucasR

Last week

  • Database migration to sanitize our bookmarks table

  • Database migration (suggested by mfinkle and gcp) that vastly improves awesome bar performance
  • Working on an inital set of tests for our ContentProvider
  • Lots of patch reviews

Next week

  • Finish ContentProvider tests

  • Performance improvements on about:home and awesome screen
  • More P1/P2 bug fixing

Blockers

  • None

Note

  • I have a long list of bugs assigned to me right now. Ping me if you’re looking for new bugs to work on!
MBrubeck

Done:

  • bug 728005 – Crash when entering full screen mode on Android 2.3

  • bug 728379 – [maple] Use setCSSViewport to set the layout viewport
  • Helping with other Maple viewport issues

Next:

  • Add-on manager bugs

  • bug 724292 – Marketplace issue with multiple launcher icons
  • Other bugs, polish, UI work
Margaret

Done:

Next:

  • Land bookmarks UI and finish tests

  • Move on to some new bugs!
Scott (jwir3)

Won’t be at the meeting this week due to an appointment. I’ll be back next week. Feel free to ping me on irc if you need anything!

Last Week:

  • [ Bug 708187]: titles bleed out of divs on marketwatch.com (not 100% finished, but should be complete this week)

This Week:

  • Finish bug 708187

  • Bug 711418: Font inflation has no effect on www.cnn.com
  • Bug 705446: font inflates text extremely large in certain parts of the page
  • Bug 707195: news.ycombinator.com comments inflated to different sizes

Blocking:

  • None

Other:

  • I have an HTC evo that has an adreno 200 GPU, if the graphics folks need any assistance testing maple.
Josh (Arreth)
  • Last Week

    • Worked on integrating new non-canvas screenshot code into patch for bug 723251

    • Took a break from that to begin on helping with fixes for Maple and MWC related stuff
  • This Week
    • Finish up updated patch for bug 723251

    • Working on any MWC related issues that I can help with
    • Working on bug 727812
  • Blockers
    • No blocking issues at the moment
  • Other
    • Gold linker on Mac OSX 10.7.3?

    • I have snacks for MV people :D
BLassey
  • MWC demos

  • supporting gfx
DougT
  • Bug 662678, 716173 – device orientation stuff.

  • Investigated Tegra JNI failures. 2.2 doesn’t have global weak references.
  • Bug 716173 – Fixed top crash on Maple.
  • GFX maple work and reviews.
MFinkle

Done:

  • Triaging MWC work

  • Fixing some crashes
  • Adding some small UI features

Next:

  • MWC
Madhava
  • late-breaking addition for release – minimal UI for “remote tabs”

    • over to Ian :)
  • desktop bookmark foldering in for final, yes?
  • at MWC next week
Ian Barlow
  • Recovering from two work weeks!

  • Back on tablet designs!
  • Designing some UI for remote tabs access on phone!
Patryk Adamczyk

Recovering from a work week and being sick, back on tablet designs.

Round Table

  • Status for tablet support on native? (Axel)

    • file bug 729602 to get a list of strings to fork for tablet UI compared to phone

Meeting Notes from the Mozilla communityFirefox/Gecko Delivery Meeting Minutes: 2012-02-22

Firefox/Planning/2012-02-22

« previous week | index | next week »

Planning Meeting Details

  • Wednesdays – 11:00am PDT, 18:00 UTC

  • Mountain View Offices: Warp Core Conference Room
  • Toronto Offices: Finch Conference Room
  • irc.mozilla.org #planning for backchannel
  • (the developer meeting takes place on Tuesdays)

Video/Teleconference Details – NEW

  • 650-903-0800 or 650-215-1282 x92 Conf# 95312 (US/INTL)

  • 1-800-707-2533 (pin 369) Conf# 95312 (US)
  • Vidyo Room: Warp Core
  • Vidyo Guest URL
REMEMBER

These notes are read by people who weren’t able to attend the meeting. Please make sure to include links and context so they can be understood.

Contents

Actions from Last Week

  • cheng to dig into connection reset issues with SSL

    • Looks like it’s probably related to just a few specific sites. FWIW, complaints seem to have died down this week so dunno (although a few of the previous threads ended in “I’m just switching to Chrome”)
  • irina to let us know whether dolphin for iOS uses Sync
    • Dolphin can sync data in 2 ways: through a feature inside the browser which is called Dolphin Connect and through an add-on which is called Firefox Sync for Dolphin HD, which is the one using our mechanism. Dolphin Connect can only sync bookmarks and it is present on iOS and Android inside the browser. The add-on, Firefox Sync for Dolphin, is not present on iOS, only on Android.

Schedule & Progress on Upcoming Releases

Firefox Desktop
Release (3.6, 10)
  • FF 3.6.27 and FF/ESR 10.0.2 released last Friday due to security concerns

  • FF 3.6.27 -> FF 10.0.2 MU pushed out last week as well
Beta (11)
  • Firefox 11 Beta 4 will be released Friday

  • Firefox 11 code freeze is a little over a week away, on Friday 3/2
  • Effort underway to bring old beta users to the latest version using automatic updates (typically used for minor updates) as opposed to advertised updates

    • This is a more aggressive approach since incompatible add-ons will not be reported prior to update, and the update is automatically downloaded.
Aurora (12)
Nightly (13)

Some nice UI cleanup and beginning Australis prep work has happened in the last week.

  • Dão fixed bug 702225 – Implement revised nav bar button appearance on Windows and bug 631250 – Status overlay switches to right side of window when find bar is open and bug 727793 – Status panel tracks the mouse position on the wrong side when using a RTL locale

  • heycam fixed bug 674370 – [10.7] Support animation when opening windows in Lion
  • Jared fixed bug 709182 – “connecting” in tab title when reloading is unnecessary visual noise and bug 722681 – Show the tab close button immediately when the second tab of a window is opened
  • mak fixed bug 720258 – Inline autocomplete should only autocomplete URLs you’ve typed
  • ttaubert fixed bug 725200 – about:newtab briefly shown in location bar of new tab
  • Joshua M fixed bug 726259 – bookmarks toolbar top border and bug 729293 – Reduce border-radius on nav-bar to match Australis design
Firefox Mobile

DID YOU KNOW? Firefox with native Android widgets supports add-ons! It’s true.

  • Working on gl-layers (Maple), Sync features, UI responsiveness, and stability

  • Working on MWC readiness bug list
  • Native is planned for Fx13
Firefox Sync
Add-on Builder
Add-on SDK

Release (1.4 -> Firefox 9, 10)

Stabilization (1.5 -> Firefox 10, 11)

Development (1.6 -> Firefox 11, 12)

Identity

Feedback Summary

Desktop
Mobile

Just read the wiki.

  • Top dissatisfiers on mobile according to the android market continue to be flash and performance-related issues. New filtering of android market reviews is now available, making it much easier to assess the negative reviews and get more data about makes/models for each review, so the analysis going forward should be a richer set of data.

  • Re-planning documentation updates for tablet to match new schedule for nativeUI (we scaled back tablet changes because of nativeUI, now that nativeUI has slipped, tablet docs could use some love).
  • Working on docs for add-ons, security and privacy for nativeUI beta.

UX & User Research

Market Insights

Desktop / Platform
Adobe
  • Adobe released a roadmap for Flash, which focuses on improved support for gaming and video. At the same time, they announced via a blog post that in future, only the version of Flash for the Pepper Plugin API will be supported on Linux, effectively meaning that Flash will only be available on the platform with Google Chrome or Chromium. After version 11.2, the NPAPI version of Flash will only receive security updates.
Google
  • Google was the subject of a significant amount of press coverage this week when the Wall Street Journal revealed that Google’s +1 button system was taking advantage of a WebKit bug in Safari to allow scripted POST calls to override the browser’s rules on third-party cookie collection. Microsoft made a similar claim that Google’s incorrect use of HTTP P3P headers allowed it to set third-party tracking cookies. Google replied that the Wall Street Journal story “mischaracterized what happened and why” and that MSIE’s implementation of P3P is not functional in today’s web.

  • CNET interviewed Google Chrome VP Sundar Pichai. He noted that Chrome is part of a larger ecosystem that includes Native Client, the Chrome Web Store, Chromebooks and Google Apps, all of which he said have long run revenue opportunities. He also said that Google has always taken an open, standards-based approach to their initiatives, that they see businesses and schools as solid opportunities for Chromebooks, and that upcoming improvements will feature a significant amount of GPU rendering to improve the experience on slower hardware like Chromebooks. Newer, faster Chromebooks will be arriving soon, which will support 64-bit architectures.
  • A Google Chrome engineer made an interesting blog post about how Chrome on Android handles low memory situations — it first selectively kills background tabs, then clears memory caches and performs garbage collection. Finally, when the system can allocate memory no more, it kills Chrome’s renderer process in which the web page lives. Many mobile browsers would crash entirely, but due to Chrome’s multiprocess architecture, the browser keeps running and displays the “Aw, Snap!” page.
  • The Google Dart team released an initial development version of “Dartium”, a version of Chromium that includes the Dart virtual machine. Currently only available in Mac and Linux builds.
  • Google announced that that their public DNS service now receives 70 billion requests a day, with 70% of traffic coming from outside the USA.
  • The Chrome team is also proposing a feature in Chrome that would automatically generate passwords. They describe their longer-term goal as OpenID, but this feature as a necessary interim stopgap for improved security.
Microsoft
  • Microsoft quietly announced that consumer security support for Windows 7 and Windows Vista would be extended from five years to ten.

  • Microsoft, in a blog post, described how they built a MSIE performance testing data center of 140 machines hosting a “mini-Internet. It tests the performance of builds 200 times daily, collecting over 5.7 million measurements and 480GB of runtime data each day from 850 different types of metrics.
Apple
  • Apple released a developer preview of Mountain Lion, the upcoming version of OS X to be released this summer. At this stage it looks like the most significant change for Safari will be an integrated search / address bar.
Opera
  • Opera purchased two mobile advertising companies.

  • An independent developer, using Opera’s APIs, released a product equivalent to Firefox Home on iOS. Opera Link is available in the Windows Phone Market.
Security
  • McAfee released their 2011 Q4 Quarterly Threat Report (PDF report). The number of malicious URLs continues to rise, jumping by more than 5 times during 2011, to more than 700,000 active malicious URLs.

  • Adobe patched seven critical vulnerabilities in Flash Player that took advantage of a cross-site scripting bug in MSIE. Adobe noted that even if its upcoming sandboxed MSIE Flash Player was available, the XSS-based attacks would still have worked.
WebKit
  • In WebKit development this week, the Web Inspector now has a tool for reviewing IndexedDB databases, as well as a color picker, and two new CSS properties were added: -webkit-line-grid and -webkit-overflow-scrolling, and all HTML elements now support the translate attribute. Support for the CSS calc() function and the VibrationAPI also arrived.
Tizen

Mobile

Summary below, full update here and in your inbox.

  • Rumours on Jelly Bean launch next quarter not likely to be true
  • Tegra 3 devices coming out this quarter
  • Opera bought 2 mobile advertising agencies to focus on the US and European markets
  • Next version of OS X goes towards deeper integration with iOS and iCloud
  • RIM released BlackBerry Playbook OS 2
  • Ubuntu for Android was announced
  • Browsing patterns on mobile similar during the weekdays and the weekend
  • Kindle Fire accounted for 36% of tablet app sessions in Jan 2012, on par with the Samsung Galaxy Tab

Marketing, Press & Public Reaction

Desktop

(Just read the wiki)

  • In the thick of getting ready for the next release – website, blog, etc.

  • Updated ads to 3.6 Upgrade Campaign, will be live for the next few weeks
Mobile
  • Finalizing MWC Fennec demo scripts

  • Beta/final release re-planning
  • Media campaign for tablets campaign wrap up and analysis
Press

Questions, Comments, FYI

  • (johnath) running this meeting next week during MWC?

Actions this week

  • lawrence/cheng to come back on uptick in perf concerns on FF11 input

Software CarpentryShould We Relocate Our Repository?

Software Carpentry has been an open project since 2004: MIT License for the code, Creative Commons for everything else. All our stuff has lived in a public Subversion repository since then as well—it’s at http://svn.software-carpentry.org/swc if you want to check it out. Today’s question is, should we move that repo off our server and onto GitHub, BitBucket, or some other repo-hosting service? We want to make it easy for people to remix our content; as I said back in December, that means making it easy for them to fork, merge, and share. Would you be more likely to do this if our slides, learning plans, diagrams, and code samples were on some well-known hosting site rather than in Subversion on our own machine?

Mozilla Add-ons BlogRe-packaging your SDK-based Add-ons for Firefox 11

Yesterday the Jetpack project released SDK 1.5. Alongside this Dave Mason pointed out that the upcoming release of Firefox 11 will break compatibility with add-ons packaged with SDK versions 1.3 and below. This is necessary because of a change in Firefox where nsIDOMNSElement was removed ( Jorge recently mentioned this in his compatibility post ). Add-on SDK 1.3 and below contains code that uses this api, and SDK 1.4.* and up do not.

If you are an add-on developer who has an SDK-based add-on on AMO, what this actually means is the following:

  • You do not have to change your own code at all.
  • If you are doing development on your own machine using the command-line SDK, you do need to download the latest version of the SDK and re-package your add-on with this new version.
  • If you are doing development with the online add-on builder, the process is even simpler – just switch the version of the SDK being used in your builder project and click on save, as I demonstrate in this incredibly short screencast.
  • Once you have an updated xpi file, please submit it to AMO. As the AMO approval queues are at historically low levels currently, I expect your review should be dealt with promptly!

We’d really appreciate it if developers would do this some time before Firefox 11 ships on March 11. We will also be using the powers of AMO to directly contact affected developers over the next couple of weeks as well. If you have any questions about this, please comment below or drop by #jetpack on irc.mozilla.org.

Mozilla Add-ons BlogAdd-on Builder 1.0 is Ready for Liftoff!

After a year in incubation we’re ready to remove the beta tag from the Add-on Builder! For those of you who are unfamiliar with this fantastic tool, Add-on Builder is an online development environment that allows developers with knowledge of HTML, JavaScipt and CSS to rapidly create add-ons for Firefox using the Mozilla Add-on SDK. You can think of it as the jsFiddle of add-on development and debugging.

Add-on Builder leverages the Add-on SDK to produce add-ons that users can install without restarting Firefox. In addition, add-ons created with Add-on Builder are automatically repackaged with Add-on SDK updates – which ensures that Builder-based add-ons will continue to work for users without interruption, regardless of Firefox API changes.

Add-on Builder provides many features specifically tailored to help add-on authors develop add-ons:

  • a simple online interface for writing your code
  • live, one-click add-on testing
  • access to a repository of third-party add-on libraries
  • jsFiddle-like sharing and collaboration
  • instant upgrade options for new versions of the Add-on SDK
  • integrated features for publishing to addons.mozilla.org

If you haven’t yet developed an add-on for Firefox, we suggest you give the Add-on Builder a try. With a simple interface and many helpful tools, it truly is the quickest, easiest way to create add-ons for Firefox!

hacks.mozilla.orgSave the Date: MDN Hack Day Comes to NYC on March 24

A bunch of us Mozilla Developer Network folks — web developers, technical writers, developer evangelists and cat herders like me — will be hosting MDN’s first Hack Day in the great city of New York.

Like many teams who work together at Mozilla, we’re geographically dispersed, and manage to meet in real life a few times per year. The U.S east coast is a relative mid-point between Western Canada, California, Colorado, Oklahoma, Texas and Tennessee on the one hand, and France, Great Britain, Sweden, and Switzerland, on the other. So we’re headed for Brooklyn and the Big Apple!

On Saturday, March 24, we’ll be at New Work City, a splendid coworking space, which aims “to make the world a better place by empowering people to make a living doing things they love.” (That sounds like us!) We’ll open with a series of short talks about our projects and technologies, and after lunch we’ll hang out and hack, closing the day with demos.

New Work City logo

We know that New York City is home to a flourishing tech scene with a thriving startup culture, influential venture firms, and lots of opportunity for developers. The hacker ethic is alive and well in NYC through the work of many collaborators, including: our Mozilla Foundation colleagues at The Hive Learning Network; WebFWD partner General Assembly, putting together a campus for technology, design, and entrepreneurship; and The Creators Project, which will be in San Francisco the weekend before, March 17-18, with a spectacular audio visual installation and other works of astonishing goodness.

We’re eager to meet, explore, and share some of the stuff we’ve been working on: HTML5, gaming, developer tools for Firefox, the evolution of Jetpack, open-source documentation, and roadmaps that support brand new open platforms and projects. We hope you’ll come check out what we’re building on the open Web and see if we can work together.

Mozilla is a non-profit with a mission to “to promote openness, innovation and opportunity” and a manifesto describing the “principles that we believe are critical for the Internet to continue to benefit the public good.”

Let’s hack together — in a city that embraces innovation — and never sleeps. Space is limited, so sign up now, and we’ll save you a t-shirt!

hacks.mozilla.orgWiki Wednesday: February 22, 2012

Here are today’s Wiki Wednesday articles! If you know about these topics, please try to find a few minutes to look over these articles that are marked as needing technical intervention and see if you can fix them up. You can do so either by logging into the wiki and editing the articles directly, or by emailing your notes, sample code, or feedback to mdnwiki@mozilla.org.

Contributors to Wiki Wednesday will get recognition in the next Wiki Wednesday announcement. Thanks in advance for your help!

JavaScript

SpiderMonkey

Developing Mozilla

Extensions

XUL

XPCOM

Interfaces

Thanks to Neil Rashbrook for contributing!

Plugins

CSS

Thanks to leeli and Panagiotis Tsalaportas for their contributions!

SVG

HTML

Thanks to Panagiotis Tsalaportas and Neil Rashbrook for their contributions since last time.

DOM

Thanks to Matt N. for his contribution to the DOM documentation.

Identity at MozillaIntroducing Mozilla Persona

This past year we’ve been building the core of a Web-scale identity system. We’ve been calling it BrowserID: our name both for the technology1 and the Mozilla service that implements the technology. Today we’d like to introduce Mozilla Persona, our new name for the complete Identity offering from Mozilla: a collection of components and experiences we’re designing to manage the whole of a user’s online identity with our core values of user control, safety, and convenience.

The Persona name resonates with the idea of personhood as well as online identity as a facet of our lives, and therefore strongly tied to user identity. We’re very excited about this new name and the new features our identity system will offer. Some of the things we’re planning: an identity dashboard, user data interconnect features, and more.

What about “BrowserID?”

BrowserID remains the developer-facing name of the protocol. Websites, email providers, and browser implementors will continue to refer to the BrowserID protocol.

Over the next few months, we will begin to transition the Mozilla Web-based implementation of the BrowserID pop-up over to the new name. But don’t worry, we’ll work hard to make sure the transition is completely seamless for everyone.

Wait, what about Firefox’s Personas?

For the past few years, many Firefox users have enjoyed “Personas”—a quick and fun way to theme the background of the Firefox toolbar. The Addons team blogged about changing their name a couple of weeks ago. No doubt there will be some confusion during this transition, so if you have ideas for how to make the transition smoother, definitely let us know! We believe the long-term value of the Persona name will far outlast the short-term discomfort of change.

We hope you’re as excited about this change as we are. We look forward to an action-packed 2012 for our distributed Identity system under the Mozilla Persona umbrella!

As always, feedback and questions are always welcome on our mailing list, or by tweeting with the #browserid or #mozpersona hash-tag.

1: Some of you may remember that BrowserID came from the Verified Email Protocol. We haven’t forgotten, of course—but BrowserID has become the name of the technology nonetheless.

Software CarpentryWatch Me: Trial Run

A dozen people have come forward since I asked last week for volunteers to make short screencasts showing how they program. I just sent them a sample problem to work on to test things out (see below the fold); the videos they create won’t be made public, but I hope it gives readers an idea of the scale of problems we’re going to be looking at. If you have suggestions for interesting problems of a similar size, please add them as comments on this post.

Hello, and thank you once again for volunteering to help Software Carpentry by recording a screencast to show people how you program. To test out your system, I’d like you to record yourself solving the problem described below using any tool or tools you like, on whatever kind of computer you prefer. Use whatever recording tool you like (a demo version of Camtasia, QuickTime, xvidcap, …), and save in whatever video format is easiest. Please:

  • do use a headset mike if you have one, but if you don’t, please don’t worry about it for now—this is just a test
  • do use full-screen recording—the real videos will have to be constrained (probably to 800×600 or 1024×768), but for now, let’s keep it simple
  • do talk a lot while you’re coding—stream of consciousness like “OK, so let’s open up the editor again and try swapping those values in the other order…” is what we’re after
  • don’t worry about editing your video to cut out “ums” and “errs”, typing mistakes, and so on—we’ll do that for you in the real screencasts, and again, this is just a test

Write a command-line program called ‘total’ to add up the numbers in a data file. The input file’s name is given to the program as its sole command-line argument; its only output is the sum of the numbers in the file (if the file does not contain any numbers, the output is 0.0). The file may contain any number of lines (including none at all); each line may contain at most one floating-point number, and may also contain leading or trailing whitespace. (Lines containing only whitespace, or nothing at all, are allowed, and should be ignored.) For example, if the file ‘numbers.txt’ contains:

22
   31.3
 +5.0e1

-1

then invoking the program as:

$ total numbers.txt

should print 102.3 on a line by itself.

Web FWDReady to Stop Talking and Start Making with General Assembly

WebFWD is somewhat a “startup of startups,” having launched barely 7 months ago. So if there’s one thing we encourage, it’s the ability to move, act and adapt quickly. While we’re certainly keen to read and learn, we’re also big proponents of just getting stuff done.

So we were thrilled when we learned of General Assembly’s new program, “Stop Talking. Start Making.” A little context: General Assembly has been a force for entrepreneurial good in New York over the past year, launching an entire campus devoted to startup and business fundamentals. While we’re not knocking an MBA (some of us have them :p), there’s a lot to be said for hands-on learning. And now that the Web has lowered many barriers to entry, more people than ever are clamoring to start businesses… and need some skills and training to do so.

We were particularly struck by the approach that GA takes with “Stop Talking. Start Making.” In addition to getting experts who have really done this stuff themselves to share their knowledge, GA is sharing it all online, in the context of an interactive community, and making it available for free. Bonus: WebFWD Mentor Bre Pettis is involved ;)

As part of Mozilla, we at WebFWD considerably appreciate the power of open, interactive Web environments to foster true innovation. So we’re excited to contribute to this important project.

The Mozilla BlogMozilla Marketplace Opening for App Submissions Soon

The Mozilla Labs Apps project aims to establish a people-centric Apps ecosystem that provides freedom, choice and opportunity for users and developers. We are doing this by adding key capabilities to the Web platform in the form of new Mozilla-proposed APIs and by establishing the Mozilla Marketplace as the first operating system- and device-independent market for apps based on open Web technologies like HTML5, JavaScript and CSS.

Today, we are incredibly proud to announce that the Mozilla Marketplace will open for developer submissions next week during Mobile World Congress. If you are an app developer interested in distributing and monetizing your app across device and platform silos, you should submit your app to the Mozilla Marketplace. Submitting your app will reserve your app name and give your app the chance to be featured in the launch later this year.

We believe the Web has no competition when it comes to nurturing creativity and generativity. And we cannot wait to see all the amazing apps that will be built using open Web technologies allowing developers to build apps once and deploy everywhere.

Stay tuned for more updates on the Mozilla Labs blog.

Software CarpentryGranules of Research

Cameron Neylon recently posted an article titled “Github for science? Shouldn’t we perhaps build TCP/IP first?” His argument is that the web’s a good way to move text around, because it was built by programmers, and programmers work with text. It’s not (yet) well suited to moving science around, because we don’t (yet) have something as granular and portable as text for scientific ideas. Yes, any particular piece of research can be represented as text, but so can any image, or any audio stream, or anything else—it’s the structure that adds meaning, and we haven’t (yet) agreed on structures. Circling back to today’s first post, part of what we’re trying to do is give scientists the background to understand and take part in conversations like these…

Software CarpentryWhat Deep Thoughts Look Like

Before writing yesterday’s post about assessment, I should have explained what I mean by”fundamental concepts”.  I’ll start with Lewis Epstein’s wonderful book Thinking Physics:

Here’s a typical problem from the book. Put a block of ice in a bathtub, then fill the bathtub to the brim with water, so that the block is floating freely. When the ice melts, will the water level go up (causing a spill), go down, or stay the same? Hm… well, the ice displaces its own weight of water, so when it melts, it exactly fills the “hole” it made, so the water level stays the same.

Now let’s try something a bit more complicated. Put the same block of ice in the bathtub, but put an iron weight on top of it, and then fill the tub to the brim. Now what happens when the ice melts? Does the water level go up, go down, or stay the same? Epstein would say that if you can answer questions like that, then you can think physically. It isn’t about calculation—as with Dan Meyer’s “Joulies“, it’s about understanding principles and following them through to conclusions.

The real aim of Software Carpentry is to teach scientists to think like that about computing. We want people to understand the principles:

  • model-view separation
  • human-readable vs. machine-readable data
  • copying vs. aliasing
  • state machines
  • different models of computation (imperative, functional, reactive, declarative)
  • interface vs. implementation
  • the complementarity of algorithms and data structures
  • code as data (and data as code)

The Unix shell, Python, SQL, regular expressions, and what not are how we hook people (“Hey look, something useful”) and how we get these principles across (as with most big ideas, any direct description is either incomprehensible or banal). However, these principles aren’t natural laws in the way as F=ma and the Second Law of Thermodynamics—if you compare them to the principles I listed a month ago, there’s overlap, but the lists aren’t the same. So:

  1. What is the best way (or a good, stable way) to carve up this intellectual space?
  2. How do we tell what a particular person actually understands?

“Write this program” is not an answer to the second problem—as many studies have shown, people can solve routine problems by rote without really understanding what they’re doing. (This is the starting point for Eric Mazur’s work on peer instruction, and the reason so many of us are so skeptical about things like the Khan Academy.)

Can we just teach the tools (for some value of “just”) and let the big ideas sort themselves out? The answer is clearly “yes”, because that’s what I did from 1998 to 2007. Does it work? I think the answer is “only partially”:  some people generalize from specifics to principles correctly on their own, but many either don’t do it at all, do it incompletely, or do it incorrectly. And does it matter? I think so: I think that if we want scientists (or anyone else) to use computing on their own, for their own ends, they need to be able to step past what we’ve shown them with good odds of success, and that certainly requires understanding “why” as well as “what”.

Bonjour MozillaSofien Chaabouni (Chaasof)

sofien
(Photo : Nitot)

Il a représenté la Tunisie lors du Mozcamp à Berlin (et donc fait preuve d’un vrai talent pour obtenir un visa à temps !) : Sofien Chaabouni, alias Chaasof, le méritait sans conteste ! Depuis un an que la communauté Mozilla Tunisie est née, il est toujours pleinement investi, malgré le fait qu’il soit en dernière année d’études informatiques, entamant donc son projet de fin d’études.
Sofien a été le premier à répondre, il y a un an, à un appel de Melek Jebnoun, qui cherchait quelqu’un pour tenir le stand du premier événement de Mozilla Tunisie. Depuis ce jour, il se dévoue corps et âme, faisant preuve d’une générosité et d’une passion à toute épreuve. Connecté en permanence sur le canal Frenchmoz, il assure d’une certaine façon la connexion entre la communauté tunisienne et la communauté française, favorisant ainsi l’émergence d’une vraie communauté francophone, soudée. Sofien est un peu devenu le bras-droit de Melek : si vous voulez savoir comment va l’un, demandez à l’autre :-) Lors du Mozcamp, ému que Melek n’ait pu venir, il a passé son temps à la tenir au courant, l’appelant, lui envoyant des mails, des SMS. C’était très touchant. Enfin, Chaasof est un véritable boute-en-train : il ADORE faire la fête, est très doué au karaoké, ainsi que pour danser. Il est un peu foufou, mais c’est aussi ce qui fait son charme.

Bonjour Sofien !


He represented Tunisia at the Mozcamp in Berlin (and thus proved a real talent to get a visa in time!): Sofien Chaabouni, aka Chaasof, undoubtedly deserved it! Over the past year since the Mozilla Tunisia community was born, he has always been fully invested, despite the fact that he is in final year of his computer science studies, and so starting his graduation project. Sofien was the first, a year ago, to responda to Melek Jebnoun’s call for someone to keep the booth of the first Mozilla Tunisia event. Since then, he devoted himself body and soul, showing unlimited generosity and passion. Permanently connected on Frenchmoz, the Francophone community channel, he is somehow a link between the Tunisian and French communities, enforcing a true welded Francophone community. Sofien has sort of become Melek right arm: if you want to know how one goes, ask the other one :-) During Mozcamp, moved that Malik could not come, he spent his time to keep he up, calling, sending emails and SMS. It was very touching. Finally, Chaasof is a real live wire: he LOVES to party, is very good at karaoke and dancing. He is a little wild, but it’s part of his charm.

Bonjour Sofien!

Meeting Notes from the Mozilla communitySeaMonkey Meeting Minutes: 2012-02-21

SeaMonkey/StatusMeetings/2012-02-21

« last meeting | index | next meeting »

SeaMonkey Meeting Details

Contents

Agenda

  • Who’s taking minutes? -> TBD

  • Nominees for Friends of the Fish Tank:
    • Ratty nominates Lewis G Rosenthal. He has been tweaking install.rdf files and since November 2011 he has been helping Ratty to contact the authors of these tweaked extensions and encouraging them to make their extensions officially compatible with SeaMonkey.

    • Please note A person or entity can’t be nominated twice in a row.
Action Items

(who needs to do what that hasn’t been recorded in a bug) We should assign people to the open items.

NEW

OPEN

  • IanN to write the “Friends of the Fish Tank” F.A.Q.
Status of the SeaMonkey Buildbot Master and Tree
  • Current Issues with existing machines:

    • There are problems with some hosts on parallels, current plan is to build the Parallels VMs on ESX instead once scl3 has network and power to the new ESX cluster.

    • One win VM, switched from FAT32 to NTFS for one of its drives, need to recreate folders appropriately.
  • “Where do we stand with the machine(s) right now?”
    • bug 721516 migrate seamonkey systems out of sjc1/scl2 and into scl3/scl1.

      • (2012-02-07) “Currently the 13 HP’s have been moved to SCL3, and the 4 mac minis in sonnet chassis are at SCL2 and will be moved to SCL3.”

      • the 4 iX boxes are racked and powered at SJC1 on floor 14 rack 102.05, one of these is having hardware issues, an iX technician will be servicing.
      • + 4 blocking bugs.
Release Train
  • 2.8b2 was shipped on February 9.

  • 2.7.1 was shipped on February 10.
  • 2.7.2 was shipped on February 17.
  • 2.8b3 was shipped on February 18.
Extensions Compatibility Tracking

We need some help with the add-ons listed under the “2.0x” heading. Anything above it will work out of the box with SM 2.7 and later (yay to compatible-by-default!). Perhaps Ratty can go through his xSidebar site and check which add-ons are not compatible with at least SM 2.1 – that would help, too.

  • Since xSidebar itself is not compatible with any recent SM version, it should not be listed as a featured add-on on AMO. Who can make that change?

    • KaiRo said he did, but it’s still featured for at least en-US and de locales.

    • If anyone wants to suggest add-ons to be featured, send them to InvisibleSmiley (in manageable doses that is).
  • Addon Compatibility Listings, mostly maintained by InvisibleSmiley

    • Recent changes can be found here.

    • Restructured for compatible-by-default.
  • Enigmail provides versions for release (AMO) and all branches (Enigmail nightly page). The current release is compatible with both 2.6 and 2.7.
  • Lightning provides versions for the current stable and beta releases (AMO) and nightlies for trunk and Aurora (Calendar Versions page). Lightning 1.3b1 which works with SM 2.8bX is available from AMO (Development Channel).
  • Firebug is compatible but not flagged as such on AMO (depends on automatic tests being set up and run on the Firebug side: bug 680837, needs a Python coder). Stable Firebug version 1.9.x works with any recent SM version. FB 1.10a1 works with trunk, 1.10a2 and 1.10a3 are broken but next alpha should be OK again.
  • Besides the above, we should also take a look at other add-ons that are important for our users when they switch to 2.x.
  • The SeaMonkey Features page links to sub-pages for all recent SM versions, including those in development. Please help InvisibleSmiley add major features to the respective pages, ideally as they land. These pages are used when creating release notes, so the more up-to-date the better.
  • bug 666303 (Seamonkey 2.1 is detected as Firefox 2.1 on the Add-on Site) and bug 671085 Confusing compatibility error when visiting Firefox listing page using SeaMonkey)
    • We don’t have a dedicated person here who understands how AMO really works, who to contact in order to actually get things moving etc. Unfortunately. Someone needs to sit down and find the offending logic, wherever it may be (probably in the AMO source, at github).
2.x (Last, Current, Next)
  • 2.7 had ~76,900 ADU by last Thursday and 2.7.1 has had ~25,700 and 2.7.2 has had ~9,400 downloads so far.

    • Of the released versions, as of last Thursday, we have 16.8% on 2.0, 6.3% on 2.1-2.3, 4.9% on 2.4, 4.5% on 2.5, 11.0% on 2.6 and 56.5% on 2.7. So, in the last two weeks, ~2.8k (an additional 2.1% of ADU) have migrated to 2.6 or above.
  • Still a large, but slowly decreasing, chunk of users on 2.0.x.
  • Figure out what is preventing people from moving from 2.0.x to the latest versions.
    • Some people cannot upgrade due to system requirements (OS version, processor capabilities etc.)

    • Perhaps putting resources into getting certain extensions working with SM 2.4 and above (those that won’t work with SM 2.7 automatically due to compatible-by-default extensions).
    • Still need volunteers to look at what is keeping people at below 2.4. IanN could try knocking something up and send it round members lists for polishing but he’s not on all the channels (mozillazine, etc) to post it to when finished.
    • Are some Linux distributions are still stuck on 2.0? We have data on OSes and OS versions in the raw data in the Mozilla metrics, AFAIK, Callek now also has access to that.

Usual reminders:

  • Please make sure that anything that landed on comm-beta (for TB) or mozilla-beta (for FF) which affected non-shared code and which fixed regressions will be fixed on our side, too. Please mark bugs we feel *need* to land on a particular train tracking+ or tracking? so that when we to do a release we can be sure that we don’t miss anything.

    • Priority should be given to fixing regressions ASAP. Also keep an eye on and prioritize bugs to be ported from FF/TB that land on branches (Aurora, Beta). We need to keep an eye especially on Session Restore, Sync, Tabbrowser and Address Book.

    • Be careful not to break code shared with Thunderbird, otherwise patches might have to be backed out of string frozen repositories.
2.7

open tracking (0)
tracking requests (0)
targeted (0)
fixed (30)

  • One tracked 2.5 issue still open.

    • 2.1 through 2.7 have NOT included the ka locale. The last release with ka locale shipped was 2.0.14 and the ka l10n maintainers have not yet updated for changes in later SeaMonkey versions.

    • Callek now needs to morph bug 667147 into removing |ka| from our [current] automation entirely (all-locales). Callek will look at best locale to transition any ka users to.
      • Plan is to migrate ka users to en-US with a english dialog saying they are out of date, and a link to the all-locales page if there is a language they understand better. Current ADU of ka alone is 3-5 individuals, so low impact.~Callek
  • The New 2.7 Features page has a comprehensive list of features.
2.Next
  • InvisibleSmiley created a restartless add-on (available on AMO) for SM 2.8 (now in Beta) which adds an “Add-ons” options to the list of engines on the Sync pref panel.

  • Remember to help update the New Features pages as we go along.
Feature List, Planning

Bug statistics for last two (full) weeks: 57 new, 37 fixed, 14 triaged.

  • Good triaging effort.

  • Good further triage targets could come out of looking at the component bug counts, pick yours!

Open reviews/flags:
23 review
9 super-review
0 ui-review
8 feedback

Major wanted/needed features:

Active
  • bug 606683 Allow customization of toolbar in Composer and MailNews Composition [IanN].

    • Progressing slowly, still waiting on reviews from TB side. Full customization has to go to 2.next (currently 2.10 but could be pushed back further) as it needs work on TB too which is taking a while to get reviews on, plus feedback from kaze.

    • IanN is still wading through the unpicking of Composer/Mail Compose code in the dependent bugs. After that he will be reworking his customising patches.
  • bug 477845 Build a standalone (Comm-central) Composer. [kaze]
    • kaze has done a bit of work in this bug recently. Building on Windows works. Now supports debug builds on Linux if tests are disabled (–disable-tests). Still a lot to do.

    • The standalone Composer patch has to be rebased and fixed for MacOSX.
    • Kaze is considering moving Kompozer to an addon so that we can reuse the dialog boxes but start fresh for the content part. Also we can then use the current devtools. KaiRo told kaze in Berlin it seemed a good idea, as it could allow to run a Composer *tab* instead of a Composer window.
    • Kaze working on it on his spare time, with an Indian contributor.
    • IanN was supposed to help get builds working with --enable-tests.
      • Will look into this once he gets his customization patches reworked.
  • Real full-screen (bug 610509) and DOM full-screen (bug 701714)
    • patches provided by Mnyromyr and InvisibleSmiley. Otherwise stalled. :-(
Needing help, Unowned, Stalled
  • Kill-RDF:

    • bug 657607 Port jminta’s kill-rdf to SeaMonkey where applicable Part 2 [meta].

    • bug 657604 Remove the RDF global object. [serge]
  • bug 436794 Enable Mac OS X system address book per default and add UI.
    • SM UI needed, unowned, helpwanted.
  • bug 449728 Drag tabs between windows.
  • bug 477840 Backport KompoZer to Composer (Depends on bug 477845).
    • kaze has done a ton of work there. We still need to work out some organizational issues. At the moment there is no active interest from MoMo for bringing standalone composer into comm-central. That’s something we (KaiRo and kaze) will have to negotiate with the Thunderbird team (Standard8).
  • bug 507841 Port Bug 422814 – Make account configuration quick, easy, and more secure (autoconfig, Quick Account Setup).
  • bug 533908 SeaMonkey Mail: tabs not restored [misak].
  • bug 523274 Complete new default theme icon set.
  • bug 526210 Update the icon set for the SeaMonkey Modern Theme.
    • bug 548778 New communicator icons (based on Strata theme) for SeaMonkey. Some proposed icons got posted, we should take a look how to get that contribution into the product.

    • The rest is unowned so far.
  • bug 87098 [SeaMonkey] Delete key should delete location bar history list entry.
    • Note: Our location bar history doesn’t and can’t use autocomplete at all.
  • bug 677484 Individual SeaMonkey components are not properly handled by the Windows 7 taskbar.
  • bug 654009 Reply to list: automatically determine From: address
    • Note: The actual task here is to port bug 45715 “Reply to List” [button/(context) menu item]
  • bug 664309 Make the built-in ChatZilla display a cZ icon in SeaMonkey (now helpwanted)
Roundtable – Personal Status Updates

Status Updates from developers – what are you working on, what’s the progress, any other comments? (feel free to add yourself to the list if your name is missing and you have interesting status).

Aqualon
Callek

Fixed:

  • (Part Of, MoCo Releng) bug 719260 Investigate why updates builder triggered twice for 10.0b5.

  • bug 722262 Port |bug 552864 Throw away wrapper shell script on unix and lazily load libxul| to SeaMonkey.
    • (Also Fixes) bug 704835 Use a pre-generated nsXREAppData struct instead of application.ini. [SeaMonkey Part]
  • bug 724480 Update function on nightly non-functional since version bump to 2.10a1.
  • bug 724791 Bring GenerateCCBranchObjects up to date.
  • (MoCo Releng) bug 687179 tagging should use one tagging operation per tagged revision.
  • bug 722448 Close PasswordAuth ssh access on cn-sea-qm-centos5-01.nl.mozilla.org.
  • bug 725557 (SM2.7.1) Tracking bug for build and release of SeaMonkey 2.7.1.
  • bug 726290 Builder Steps in dump_master.py should have sorted keys (use pretty print) .
  • bug 669722 update-verify-bump.pl incorrectly removes the previous release when oldVersion=5.0.
  • bug 631864 Investigate why [or fix] mac repacks being uploaded to mac64/ rather than mac/.
  • bug 726486 add Ukrainian to builds.
  • bug 560772 Make use of mozilla::services for comm-central.
  • bug 726797 Multi-GPU Detection Broken on Windows Gecko 11. Still needs to land on branches.
  • bug 727258 Suite Depend Locales broken after bug 722262.
  • bug 727799 (SM2.7.2) Tracking bug for build and release of SeaMonkey 2.7.2.
  • bug 727806 (SM2.8b3) Tracking bug for build and release of SeaMonkey 2.8b3.
  • bug 694371 [c-c] “Warning: package error or possible missing or unnecessary file:” : 4 “VC80″ files. (WIN32_REDIST_DIR is needed again.)

Lots Of Reviews

  • (Filed/drove) bug 726869 Please create Approval-? message for SeaMonkey approval-comm-*

Lots Of Triage

Working On:

  • (MoCo Releng) bug 607392 split tagging into en-US and other

  • bug 728597 Merge SeaMonkey build-tools back to official build-tools repo.
  • bug 728930 Move Mozconfigs into Source Tree.

ToDo:

  • bug 607776 force_release_l10n.py: Make the default for shipped-locales work for non-browser apps.

  • bug 723638 Mercurial 2.1 returns 1 if nothing was pulled, in which case client.py doesn’t succeed.
  • (Port Of) bug 726978 Remove useless NS_New(Native)LocalFile calls in nsBrowserApp.cpp.

Investigation Needed:

  • bug 726565 sea-win32-02 [iX] failed to come up properly after a reboot.

  • bug 593159 Remove version.nsh dependency from installer code.

Tracking:

  • bug 494421 Use Google as network geolocation provider.
ewong
  • Fixed:

    • bug 717493 – Port |Bug 717491 – “Warning: package error or possible missing or unnecessary file: bin/components/proxyObject.xpt (package-manifest, 151).”| to SeaMonkey

    • bug 723839 – Tracking bug for build and release of SeaMonkey 2.8 Beta 1
    • bug 724490 – Comment out the -jN lines in the .mozconfigs for each branch

  • Needs Review:

    • bug 707786 – Use Services.prefs instead of preferences-service / gPrefService, in SeaMonkey

    • bug 706287 – Add link to TBPL in SeaMonkey QA menu

  • Working On:

    • bug 722767 – Change buildbot configs to upload symbols to symbols1.dmz.phx1.mozilla.com

IanN
  • Usual testing, reviewing and commenting.

  • Fixed:
  • Waiting for review on:
    • bug 491843 IPv6 address literal is not usable as server name

    • bug 725093 Update en-GB for Gecko 12.0 (mozilla-aurora)
    • bug 725109 Update en-GB for Firefox 12.0 (mozilla-aurora)
    • bug 725111 Update en-GB for Editor 12 (comm-aurora)
    • bug 725121 Update en-GB for Thunderbird 12.0 (comm-aurora)
    • bug 725179 Update en-GB for SeaMonkey 2.9
    • bug 725187 Update en-GB for SeaMonkey 2.9 Help
    • bug 725363 Update en-GB for Calendar/Lightning 1.4
    • bug 638643 Remove obsolete EditorToggleParagraphMarks from editor.js
  • Waiting for dependent bug to be checked in:
    • bug 720661 Display account central when no default account / no accounts setup
  • Waiting for additional review on:
  • Reviewed and waiting for feedback from mobile peer:
    • bug 689253 Update en-GB for Mobile 10.0 (comm-aurora)
  • Working on:
    • Final version of proposed changes to Project Areas.

    • Various SM Council documents.
    • bug 606683 Allow customization of toolbar in Composer and MailNews Composition
    • bug 639690 [META] Re-arrange code between editor and editorOverlay
    • bug 657234 Move pasteQuote and pasteNoFormatting into contentAreaContextOverlay
    • File/Folder selection in windows.
  • To Do:
    • bug 639395 Get cmd_fontSize to reflect current state of selected content / content at caret.

    • Prefs-in-a-tab.
    • Create FAQ for Friends of the Fish Tank.
    • Knock something up finding out why users are not upgrading to 2.4+ and send it around members lists for polishing.
    • Help get composer standalone builds working with –enable-tests.
InvisibleSmiley
  • Fixed:

    • bug 728431 Update SeaMonkey website for 2.8 Beta 3

    • bug 728300 Update mirrorred flags
    • bug 727887 Update SeaMonkey website for 2.7.2 Oilspill release
    • bug 726187 Update SeaMonkey website for 2.7.1 Oilspill release
    • bug 725679 suite/common/tests/browser/browser_346337.js | Test timed out
    • bug 725487 Update SeaMonkey website for 2.8 Beta 2
    • bug 722405 Update SeaMonkey website for 2.7 Final release
    • bug 712699 Create/Update 2.7 Release Notes
    • bug 720735 Sync certain global mailnews.* preferences
    • bug 727929 test_idcheck.xul > preferences.xul: doubled ‘languageBundle’ and ‘regionBundle’
  • ToDo:

    • bug 701714 Add support for DOM full-screen

    • bug 640420 Add draggable splitter between urlbar and searchbar
    • bug 711334 Be explicit that TLS version is 1.0
    • look into
      • bug 698038 Update Preferences help for the new section to control crash report

      • bug 696757 Port “Time range to clear” from Firefox to SeaMonkey’s “Clear private data” dialog
    • track
      • bug 687316 (Remaining) Sync changes to port to Suite
KaiRo
  • Fixed metrics pages to correctly list new versions and simplified code for it.

  • Fixed the build system porting tracker to work with the new Mercurial deployed on Mozilla servers.
  • Reviewed SeaMonkey binary restructuring (bug 722262).
  • I worked on getting my themes up to date for the current SeaMonkey and Firefox releases, currently testing them.
  • As usual, my blog has more detailed status about my activities, and Mozilla Status Board Posts also tell about my next planned steps – both including my non-SeaMonkey Mozilla work as well.
mcsmurf

Checkin-needed: bug 593159 Remove version.nsh dependency from installer code.

Misak

Fixed bug 700144 Port bug 640136 [onchange & input events are not fired for all form elements on restore].

  • Needs approval for comm-aurora and comm-beta.
Mnyromyr

Working on bug 127399 Allow sending emails with IDN based email addresses [has review+].

MReimer
Neil

Fixed:

  • bug 631208 bug 553937 regressed bug 121583 (was fixed a year ago!).

  • bug 728096 [SeaMonkey] TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/docshell/test/navigation/browser_bug343515.js | Tab N should be inactive.

Working on:

  • bug 71008 [RFE] Account Wizard should allow setting of different SMTP server.

  • bug 728478 Consolidate about redirectors.
Ratty

Page Info Fixes:

Lightning/SeaMonkey Integration:

  • bug 721327 Implement Tabs Toolbar for Thunderbird and Lightning Compatibility.

Backout Patches::

ToDo:
Come up with a reliable STR to test:

  • bug 701432 Add support for fave icons on jump list uri entries.

Addon Compatibility: I’ve been working with a SeaMonkey volunteer, Lewis G Rosenthal, to contact Firefox/Thunderbird extension authors and get them to update their extensions for SeaMonkey.

  • Paul Kolomiets, the author of Flexible Identity has added SeaMonkey compatibility to version 0.5.6 (Added to wiki last meeting).

  • I’ve made some minor changes to Select Address Book Text to get it working in SeaMonkey. Lewis will forward my changes to the author, Craig Markwardt.
  • Lewis tweaked the install.rdf for PrintingTools Thunderbird extension and tested under SeaMonkey 2.6. It seems to be fully functional, including printing from the address book. Email has been sent to the author requesting that he add SeaMonkey to the official install.rdf.
  • I’ve also received fixes to UrlParams and Quote Colors from InvisibleSmiley and uploaded these changes to my xSidebar modified extensions page.

Other:

  • Bug triage and Bug discussions.

  • End user support and PR in newsgroups and Mozillazine.
Ricardo
sgautherie
  • Completed update of changes to browser/installer/package-manifest.in.

  • Fixed (or in-progress) SeaMonkey (related) bugs:
    • bug 451871 Remove |MOZILLA_INTERNAL_API| from /suite/

    • bug 521305 mochitest-browser-chrome: browser_sanitizer.js reports |Exception… “‘JavaScript component does not have a method named: “cancel”‘ when calling method: [nsICancelable::cancel]” nsresult: “0×80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)”|
    • bug 724446 Cleanup leftover listener from browser_page_style_menu.js, in SeaMonkey
    • bug 725132 Package jsinspector.xpt in SeaMonkey
    • bug 725529 Fix 4 “leaked window property” in SeaMonkey
    • bug 725543 Port |Bug 680550 – Handle removeAllPages more sanely in tests| to SeaMonkey
    • bug 725549 Port |Bug 663763 – Provide helper function for opening the library in tests| to SeaMonkey
    • bug 726491 Port |Bug 663630 – Remove unused places UI perf tests| to SeaMonkey
    • bug 726505 Port |Bug 507784 – Some session restore tests don’t correctly remove event listeners| to SeaMonkey
    • bug 726530 [SeaMonkey] “TEST-UNEXPECTED-FAIL | …/browser_493467.js | Saved state of allowWindowControl”
    • bug 727704 Package the wakeupservice in SeaMonkey
    • bug 726521 Port |Bug 658738 – [meta] We seem to be leaking hundreds of windows until shutdown during browser-chrome tests| to SeaMonkey
  • Fixed MailNews Core bugs:
    • bug 227633 Replace 0x0a by nsCRT::LF, 0x0d by nsCRT::CR
  • Fixed (or in-progress) Core bugs:
    • bug 285374 sync xpfe colorpicker.xml with toolkit colorpicker.xml

    • bug 718020 test_bug583889.html: “Error: uncaught exception: [object StopIteration]”
    • bug 721065 pyxpt: Report Typelib name(s) when IIDs/names differ
    • bug 725045 Fix a documentation error in specialpowersAPI.js: pushPrefEnv() param is “clear” not “remove”
    • bug 725349 Fix a few tests that miss a space before reporting expected value
    • bug 725942 mochitest-browser-chrome: browser-test.js should ignore empty console messages
    • bug 728541 [SeaMonkey] “TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/layout/xul/test/browser_bug706743.js | an unexpected uncaught JS exception reported through window.onerror – [...] browser_bug703210.js:50″
    • bug 728628 browser_viewsourceprefs.js should not use ‘about:robots’ which is Firefox specific
    • bug 718237 [SeaMonkey] “accessible/events/test_focus_autocomplete.xul | Test timed out.” (which also causes lots of “gA11yEventListeners is undefined” on following tests)
    • bug 728538 [SeaMonkey] “TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/dom/tests/browser/browser_ConsoleStorageAPITests.js | 0 events found, tab close is clearing the cache”
  • Fixed other projects bugs:
    • [Firefox] bug 718324 [Linux, QT] “Warning: package error or possible missing or unnecessary file: bin/chrome/icons/default/default16.png (package-manifest, 315).” (+ 2 more)
Stanimir
stefanh

Fixed:

  • bug 721529 [Mac default] Reference to non-existing chrome://global/skin/tree/item.png in searchbar.css and directory.css.
tonymec
  • New and ongoing:

    • QA (for SeaMonkey and SeaMonkey-related code, now a QA peer for SeaMonkey)

    • Nightly Tester Tools (stepped down, al-hamdullah, as caretaker; whimboo will, IIUC, be team leader; harth and I, and hopefully some others, stay around)
  • TODO:
    • Get someone to ASSIGN bug 716232 “SIGSEGV (segmentation violation) crash in Javascript at ChatZilla startup” to him/herself now that it’s known which hg changeset caused the regression
Any other business?
  • Need to review project areas

    • IanN has put out a final version of the project areas list, and will hopefully be updating the wiki this weekend.

    • We will also need to update the Mozilla-wide list of official reviewers
  • Extended Support Releases (ESR)
    • At the moment looks like that will be based off Gecko 10 so that will be 2.7 for us. Assuming we have the machines, we will also have an ESR which might help move some of those still on 2.0 up to 2.7. We’re unlikely to move to ESR until Gecko 10.0.1 or 10.0.2.

    • Our ESR should use the same branch as Firefox ESR so any Security and Stability “extended” fixes for Gecko will be picked up by the SeaMonkey ESR.
    • An ESR (Extended Security Release) may not be a given for us out of the gate. Callek thinks we should revisit that, separately, once it is clearer what MoCo’s general plans for their marketing/target/support levels etc. are.
    • mcsmurf is on the ESR mailing list is our ESR goto guy.
  • Geolocation
    • Geolocation now works out of the box. MoCo turned it on by default for all applications that build off mozilla-central.

    • For comm-beta all we need to do is (bug 494421) to add pref("geo.wifi.uri", "https://www.google.com/loc/json"); to browser-prefs.js. However we’re not even sure we are legally allowed to ship with the URL in, we might need to actually put in a pref to disable that in newer builds.

Meeting Notes from the Mozilla communityThunderbird Meeting Minutes: 2012-02-21

Thunderbird/StatusMeetings/2012-02-21

last meeting | index | next meeting »

Thunderbird Meeting Details :

Remember to use headphones and mute yourself when not talking

Feel free to ask questions in the meeting either by speaking up or by asking them in #maildev on IRC.

Other ways to get in touch with us can be found on our communications page

Agenda

  • Who’s taking minutes? –> mconley

  • Minute taking Schedule. Talk to Standard8 for schedule changes/additions.
  • Note: this meeting is for interactive discussion. Feel free to ask questions!
Action Items
Friends of the Tree

Thanks to our Friend of the Tree. When adding someone to this section, please get their T-Shirt size, phone number (needed for shipping!) and send it to abourcier@mozilla.com that she can send them a shirt!

Thunderbird Development

For more details, see also the driver meeting notes.

Feature Work
Test Pilot Tabs on Top
  • Some late bugs are being tracked for tabs on top (bug 728309 and bug 719008). We’re going to try to land these for 11.
Big Files
  • Currently on-track to hit our second milestone (see the Feature Page for the milestone breakdown)
Schedule and Progress
  • Dealt with chemspill releases last week, releasing 10.0.2, 10.0.2esr & 3.1.19 by last Friday.
Thunderbird 11
  • Released a beta last week, preparing for another beta this week.
Thunderbird 12 Thunderbird 13 Thunderbird 3.1.x & ESR
  • Currently altering the esr flags to match Firefox, once this is done more information coming on how we’re tracking esr releases.
Extension of the week
  • wwwtran will let you translate messages on the fly using webservices.
QA Updates
Marketing Updates
Infrastructure Update
Build / Release Update
  • Thunderbird 10.0.2, 10.0.2esr, 11.0 beta 2 build 2, 3.1.19 released

  • Some progress made on Bug 698843 – Build Thunderbird on Firefox infrastructure
Web Update
  • fixed a couple website bugs, like bug bug 726478

  • working on AOL support, ran into a blocker but Mercel fixed it relatively quickly
  • Also working on update our release notes to the new-Firefox style in bug 727975
Documentation
Support

(If you support Thunderbird or write or translate documentation to help support Thunderbird, please subscribe to the tb-support-crew mailing list and briefly introduce yourself to the list

  1. 855 new support topics (807 one week ago with the stats bug with 1 day missing) – Media:13-19Feb2012-Community_stats_for_Mozilla_Messaging.png

  2. Thunderbird 10 Support Issues – Please edit and add any issues or bugs found in TB10 and tag them tb10
  3. See this week’s Support Appendix for full Get Satisfaction metrics and other support details
Lightning Updates
Status Updates

See the Mozilla Status Board for status updates specific to developers.

Roundtable Highlights
Attendees

Meeting Notes from the Mozilla communityMozilla Platform Meeting Minutes: 2012-02-21

Platform/2012-02-21

« previous week | index | next week »

Platform Meeting Details

  • Tuesdays – 11:00 am Pacific

  • Dial-in: conference# 95312
    • US/International: +1 650 903 0800 x92 Conf# 95312

    • US toll free: +1 800 707 2533 (pin 369) Conf# 95312
    • Canada: +1 416 848 3114 x92 Conf# 95312
  • Warp Core Vidyo Room
  • join irc.mozilla.org #planning for back channel

Contents

Notices / Schedule

  • We shipped Firefox(/ESR) 10.0.2 and Firefox 3.6.27 unthrottled late last week for a newly discovered security issue.

    • We also pushed the Firefox 3.6.27 -> 10.0.2 major prompted update again.
  • We are here on the schedule (.ics link)

    • Please continue to investigate any bugs currently tracked for FF11′s release

    • Beta 4 is going to build today (2/21)

Firefox Development

  • Paolo is killing all consumers of the synchronous favicon API (bug 713642)

  • Australis theme refresh
    • Dao has landed a revised look for the navigation toolbar buttons on Windows (bug 702225)

    • Volunteer contributor soapyhamhocks is helping implement other changes to the navigation toolbar styling for Windows: screenshot (bug 727650)
    • Jared is removing the favicon from the location bar (bug 588270)
  • Avi Halachmi, author of the “smoothwheel” extension, is helping to implement a better smooth scrolling implementation in Gecko (bug 206438)

Firefox Developer Tools

  • Breakpoint support via Source Editor in Debugger almost ready

  • Work beginning on styling and UI improvements for the Debugger
  • Web Console Async patch progressing
  • Highlighter UI Updates landing this week

Performance

  • Snappy weekly summary

  • UX tweaks from Jared for scrolling, no more “connecting…” in tab title on reload
  • IO optimization from Brian removed reliance on prefetch – start-up speed will soon be solely up to Firefox. Also working on download manager lag
  • Marco working on reducing jank from livemarks

GFX

JS

  • Incremental GC landed. Not turned on for mobile yet due to JSreftest issues.

Layout

  • We’re working on webkit-compatibility issues for Mobile web sites.

  • Currently investigating the possible use of ICU in Gecko for Internationalization features
  • Going through several performance issues related to Layout/Paint for Fennec.

Video

DOM

WebAPI

Network

  • We’ve started working on a new automated performance testing system for networking, which we’ve dubbed Stone Ridge. Test clients will run network performance tests against NeckoNet-based proxy servers, configured to mimic different network conditions such as mobile networks. Results will be displayed on a public graph server.

Identity

Plugins

Mobile

  • Working w/ GFX team on OMTC.

Accessibility

Tree Management

Security

Security Reviews Scheduled for this week

Date / Time Item
Mon Feb 20 / 13:00 PST Holiday: No Review
Wed Feb 22 / 13:00 PST Per Window Private Browsing
THU Feb 23 / 10:00 PST WebSMS bug 674725
Fri Feb 24 / 10:00 AM PST Queuey Threat Modelling Session

Calendar and Meeting details

General Meeting Details
* IRC Channel: #security
* Etherpad: http://etherpad.mozilla.com:9000/secreview
* Vidyo: https://v.mozilla.com/flex.html?roomdirect.html&key=5XEMsG1ApA4b (Room 9058)
* Dial-in Info (phone):
** In office or soft phone: extension 92
** US/INTL: 650-903-0800 or 650-215-1282 then extension 92
** Toronto: 416-848-3114 then extension 92
** Toll-free: 800-707-2533 then password 369
** Conference num 99058

For updates to meetings please see the Security Review Calendar

Security Review Needed but Unscheduled

Stability Report

Socorro
  • Small Socorro release coming tomorrow, no major changes for developers.

  • Work being started to support ESR in Socorro within this quarter.
  • bsmedberg and ted are working on some stackwalking issues that cause wrong signatures or stack frames to appear:
    • bug 726570 – MSVC2010 issues

    • bug 709209 – browser-side hang signatures (even on MSVC2005)
    • The patches in the former might fix the latter, but we don’t know for sure. Seems like they will improve stackwalking significantly in any case and might change signatures due to that.
Desktop
Firefox 10 Top Issues
  • No new signatures have cropped in 10.0.2 so far

  • bug 725945 Crash in nsCacheService::Unlock
  • bug 718389 PR_EnumerateAddrInfo – only 5 crashes so far in 10.0.2, over 4000 in the past week on 10.0.1.
Firefox 11 Top Issues
Firefox 12 Top Issues
Trunk new Issues
  • bug 728707 Crash @ DragDataProducer::Produce

  • bug 728705 Crash @ js_ValueToAtom
  • bug 728653 Crash in mozilla::storage::Connection::stepStatement @ sqlite3_extended_result_codes
  • bug 728652 Crash @ nsPlaintextEditor::InsertFromDataTransfer
  • bug 728564 Crash @ CReconstructor::AppendFillTailPairs
Mobile

Graph and Socorro work reported in:

Trunk Top Issues
  • bug 726270 – java.lang.NullPointerException: at android.widget.CursorTreeAdapter.setChildrenCursor(CursorTreeAdapter.java)

  • bug 723499 – java.lang.IllegalStateException: at android.widget.ListView.layoutChildren(ListView.java)
  • bug 729129 – crash [@ dlmalloc_walk_free_pages | dvmHeapSourceTrim]
Aurora Top Issues
  • bug 725295 – [Skia] Crash Report [@ _ZN8SkBitmapaSERKS_ ] on HTC devices

  • bug 700583 – Crash in nsPluginFile::GetPluginInfo @ pr_FindSymbolInLib
  • bug 729129 – crash [@ dlmalloc_walk_free_pages | dvmHeapSourceTrim]
Beta
  • libGLESv2_adreno200.so@<address> are the top crashes for Beta; low ADU causes high spiking with low number of crashes (9) crashes show 400/300 crashes per 100 ADU.

    • Note: This crash is fixed in Maple but does not apply to current M-C. For more details see: bug 721489 – Older Adreno 200 drivers intermittently crash when uploading RGB565 textures with glTexImage2D

Roundtable

hacks.mozilla.orgA simple image gallery using only CSS and the :target selector

Back in the old days of web development and when CSS2 got support I always cringed at “CSS only” demos as a lot of them were hacky to say the least. With CSS growing up and having real interaction features it seems to me though that it is time to reconsider as – when you think about it – visual effects and interactivity should be maintained in the CSS rather than in JavaScript and CSS.

With the support we have in new browsers it would be a waste not to use what has been put in. If you have to give all the visual candy to IE6, OK, then you’d have to use a library like jQuery for your effects. But you can have your cake and eat it if you don’t give the shiny to the old browsers out there, but give them a simpler interface and make sure they don’t get what they don’t understand.

So today let’s take a look at an image gallery using the target selector. This has been done before (lightbox example, thumbnail preview example) but I thought it’d be good to explain the details of what is going on.

So here is a screencast of our “CSS only image gallery” in action and you can see it for yourself.

Starting with HTML

We start with HTML that works across all browsers (except for IE < 9, where you need a polyfill to style HTML5 elements):

<section class="gallery">
  <nav>
    <ul>
      <li><a href="#one">One</a></li>
      <li><a href="#two">Two</a></li>
      <li><a href="#three">Three</a></li>
      <li><a href="#four">Four</a></li>
    </ul>
  </nav>
  <article id="one" class="target">
    <figure>
      <img src="http://placekitten.com/g/300/200" alt="Kitten 1">
    </figure>
  </article>
  <article id="two" class="target">
    <figure>
      <img src="http://placekitten.com/g/300/201" alt="Kitten 2">
    </figure>
  </article>
  <article id="three" class="target">
    <figure>
      <img src="http://placekitten.com/g/301/200" alt="Kitten 3">
    </figure>
  </article>
  <article id="four" class="target">
    <figure>
      <img src="http://placekitten.com/g/301/201" alt="Kitten 4">
    </figure>
  </article>
</section>

Without any CSS this would just show all the kitten images in a vertical row and the links would point to them. This works, and should be more than enough for the IE6 users out there.

For browsers that support newer CSS, however, we can turn this into our gallery in a few easy steps:

Step 1: Position the articles

To make sure we don’t give IE older than 9 any CSS it chokes on, we can wrap all the selectors in a simple media query (in this case checking that the window is at least 400 pixels wide):

@media screen and (min-width: 400px) {
  ... all the good stuff ...
}

We then can give the gallery dimensions and an overflow of hidden to make sure that elements positioned outside of it will not be shown. We also position it relative so that every positioned child element will be positioned relatively to it:

.gallery {
  position: relative;
  height: 280px;
  width: 340px;
  overflow: hidden;
}

Then we position all the target elements absolutely in the gallery with 320 pixels to the left. This hides them off screen as we hide the overflow:

.target {
  position: absolute;
  top: 60px;
  left: -320px;
  height: 220px;
  width: 300px;
}

Now in order to show the image when the link to it was clicked we use the :target selector. This one assigns the CSS to the element when it was targeted – either by activating a link to it in the document or from the URL when the page loaded. With this pseudo selector, we override the left setting and move it to 20 pixels, thus showing the image.

.target:target {
  left: 20px;
}

You can try this out for yourself:

To make this smoother, all we need to do is to add a CSS transition to the target styles. Now all the changes to the styles will happen smoothly during a second rather than immediately.

.target {
  position: absolute;
  top: 60px;
  left: -320px;
  height: 220px;
  width: 300px;
  -webkit-transition: 1s;
     -moz-transition: 1s;
      -ms-transition: 1s;
       -o-transition: 1s;
          transition: 1s;
}

Again, see it in action and play with it.

That is all there is to it – the rest of the effects are just different variations of the same trick – animating opacity from 0 to 1 or CSS transitions.

Target selectors can be a very powerful trick. The main issue they have though is that the page scrolls to the target, so if there is a big distance between the link and the target you’ll get unsightly jumps.

Mozilla Add-ons BlogAnnouncing Add-on SDK 1.5!

The Jetpack team is pleased to announce the release of Add-on SDK version 1.5! This version of the SDK has two major new features as well as many smaller ones and some important bug fixes.

The two most important new features of this release are:

  • Mobile Support! – Developers can now start developing add-ons for the mobile version of Firefox. For the initial release of mobile compatibility we have the page-mod API working which will allow developers to create modifications to web content within their add-on. This is quite useful for creating mobile versions of website that do not have a good mobile support. This support for mobile Firefox is only for the new Native Android versions of Firefox (at time of this post, Aurora and Nightly). Primers on getting started developing add-ons for mobile Firefox can be found here and here.
  • Localization! – Localization has finally come to the Add-on SDK! For this initial version localizers can translate javascript-embedded strings with HTML string support coming in a future SDK release. An introduction on how to localize strings can be found in the documentation.

For more new features and known issues in Add-on SDK 1.5, please see the Release Notes!

As always, we’d love to hear from you about your experiences with this release. You can contact us in a variety of ways:

post to our discussion group
chat with us on irc.mozilla.org #jetpack
report a bug
check out the source and contribute bug fixes, enhancements, or documentation

For more information on the Jetpack Project check out our wiki

Blog of MetricsSampling Crash Volumes, Rates and Rarity for Socorro Samples

1 Introduction

The Socorro crash report accumulation pipeline does not process all the crash reports. Though every report is stored on disk, only 10% are processed and saved in HBase as JSON objects. Each crash report has a crash signature (Crash Report Signature or CRS for short). The relationship between crash reports and CRSs is many to one.

Consumers of the crash reports (engineers working on bugfixes, product managers to name a few) had concerns regarding the use of samples. For example, some asked if the 10% sampling is a viable sampling rate to accurately estimate the frequency of the CRSs and if not all of them, then how accurate are the top N most frequently observed crash report signatures? With FF’s usage running into the 100 millions, we can expect new CRSs to be coming in every day. Some are very rare (occurs for a small user base) and others more frequent. How many days can we expect to wait till we see 50% of all the CRS that come in (for a given version)?

To answer these questions, the #breakpad team processed every crash report for the week 03/22-29/2011 , post Firefox 4 release. This served as a full enumeration of the crash report data. The full enumeration contained 2.2MM crash reports belonging to 84,760 CRSs.

Primarily, the crash-stats dashboard lists the top 100 most frequent crashes by OS. Some questions,

  • How accurate are the sample estimates? Does the top 100 from a sample equal the top 100 from the full enumeration (population) and are the proportion estimates accurate?
  • Given estimates, can we provide something about their accuracy?
  • How many distinct crash types are there? Throttling is a random sample of incoming crash reports. If in a 10% sample, we observe ‘N’ CRSs, can we estimate how many there in the population i.e. how many haven’t we seen? Estimating the number of unique CRS is entirely different from estimating the proportions of the CRS.

 

For more read:  http://people.mozilla.org/~sguha/species.crash.report.html

about:mozillaWhat is a Webmaker, Winding down Drumbeat and more…

about:mozilla is a weekly round-up of news and contribution opportunities. Here’s what’s happening this week.

What exactly is a Webmaker?
Want to know what Mozilla means by Web making? Or why you (and Mozilla) should care? Mark Surman and Michelle Levesque recently gave a 20 minute talk that answers this question.

Winding down Drumbeat.org

Later this month were going to be winding down the Drumbeat brand and web site. We’re going to be focusing on our most successful projects that also happen to be ones that will help us build the next generation of webmakers. If you would like to get involved with building our new Website or help us with reinventing our brand or with other things that were working on check out our Mozilla Webmakers wiki for details on our projects, community calls, and others ways to stay in touch.

Dev Derby February
It’s February and time for our next Dev Derby! This month, we want to see what you can do with touch events. Your submitted demos will be showcased in our Mozilla’s Demo Studio, and we would also like to feature you in an article here on Mozilla Hacks as well! Go for it!

Popcorn Learning Labs
If you would like to organize (or take part in) a Mozilla Popcorn Learning Lab that introduces developers and filmmakers to remixing web content into video using open tools then check out this guide for more information.

Meet Some Mozillians
Bonjour Mozilla says bonjour to Cédric Menge (Chewey), Paul Berettoni (cmal), David McNamara (Mackers), Otto de Voogd and Philipp Kewisch. Read more about how these people are contributing to Mozilla.

Upcoming events

* February 21, San Francisco, USA and online, Firefox Add-ons Made Easy
* March 25, London, England Mozilla Popcorn Learning Lab
* See more on the Mozilla Community Calendar

Get Involved
These are just some of the available contribution opportunities. Learn more about other ways to get involved and find other Mozillians in our community who share your interests.

About about:mozilla
The newsletter is written by Mozilla’s contributor engagement team and is published every Tuesday.

If you have anything you would like to include in our next issue, please contact: about-mozilla[at]mozilla[dot]com or send us a status message on mozilla.status.net or a tweet @aboutmozilla .

You can also subscribe to the email version.

Have a good week folks and keep rocking the Web!

Firefox Support BlogAsk Toolbar is changing the Firefox add-on process

Note: This is my personal opinion and is not meant to reflect Mozilla’s views.

We’ve done a lot of work to help Firefox users have control over their add-ons (for example, bug 596343 and follow-ups 693743 and 693698) but some software companies are hard at work circumnavigating these protections. A while ago I filed bug 721258 concerned about the way the Ask Toolbar changes our 3rd party add-on confirmation screen. Today, in a follow-up comment I posted this screencast which shows an example of it in action:

Download video: MP4 format | WebM format

Some suggested that this isn’t that bad or that it could be worse. As someone charged with looking out for our users it’s pretty frustrating to run into that kind of opposition – just take a look at our support forum. Ask is known for this kind of stuff. And in fact, “how do I uninstall the Ask toolbar” is their top support question. It looks like we can’t do anything technical to prevent this at the moment. Maybe by drawing attention to it we can come up with another solution that protects people.

Clarification: At the end of the video, when I’m trying to fix the location bar search – the problem is that “domain guessing” is happening when it shouldn’t be (documented here).

http://mozilla-antarctica.org/Protecting the Internet and Antarctica

Hey Mozillians,

We’re back again with a new and interesting blog post. Today, we are going to answer some questions that might’ve popped into your head when you first saw our community’s website.

So, what’s this community?

We launched the community on February 7th and we want to share news, updates and other cool stuff from Antarctica with other Mozillians and interested people. The community consists of the blog, but we’re planning to add a forum in the future. We also have several goals that we’d like to tell you about:

Protecting the internet

ACTA, SOPA, PIPA, Hadopi,… All of these laws aim to stop the internet’s openness, which we are fighting for. It needs to be more and more commonly acknowledged that the internet’s openness needs be protected. We need an open internet to develop things like Mozilla, Linux, all the free and open-source software, techy communities, and even more. These programs were all possible because the internet was always open in the past.

Mitchell Baker, Chair of the Mozilla Foundation said in a blog post that ACTA would be a Bad Way to Develop Internet Policy. And in our opinion, she’s right.

In an interesting comment you could read this:

“Patent, Copyright and Trade Mark law is already complex enough to navigate and difficult to enforce…
We have moved beyond the information age and are now building new civilizations and communities online. The opportunity is to approach Internet regulation as we have done in some of our best moments: UN, UNESCO, Red Cross, etc.
I am reminded that when explorers and scientists opened up the frontier of Antarctica, the World signed a treaty gifting the continent to all of us. Now all countries comply with the Antarctic Treaty, which places scientific endeavor and protection of the environment before commercial gain. No country may place military bases in Antarctica and although rich in oil and minerals, it remains protected from commercial exploitation.
Similar ideals could apply to our digital frontier, but unfortunately it came into being because of its commercial possibilities. This doesn’t have to stop us though. Unlike a country, we are able to shape the digital world ourselves.
If you want to stop copyright infringements on the Internet, code safety measures, and don’t create laws, that prevent users from stealing intellectual properties. Virus filled files would then be left well alone on illegal torrent sites.”

How can I protect the Internet?

There are many campaigns that you can join. Luckily, on January the 20th, the Congress shelved the bills indefinitely. But there’s still the Anti-Counterfeiting Trade Agreement (ACTA) in Europe. You can for example sign an e-petition for an immediate stop of the negotiations. The agreement aims to establish an international legal framework for copyright infringement on the Internet, and would create a new governing body outside existing forums, such as the World Trade Organization, the World Intellectual Property Organization, or the United Nations. The problem is that it threatens many web services like YouTube, Google, Twitter or Facebook.

Okay, enough about that. Let’s talk about Antarctica now!

Why do we need more protection for this Ice-Land?

Today, thanks to the Antarctica Treaty System, Antarctica is declared as a land for peace and science. We’re happy that this treaty has no end for now. And thanks to the Madrid protocol, the environment of Antarctica is protected, which means that mining or exploiting natural resources for commercial purposes is strictly forbidden.
But unfortunately, this could end in 2048.
According to the Antarctica Treaty Secretariat:

“The Russian Federation introduced WP 55 On a strategy for the development of the Russian Federation activities in the Antarctic for the period until 2020 and longer-term perspective. The Russian Federation noted that its activities are designed, among other objectives, to strengthen the economic capacity of the Russian Federation by enhanced use of the marine biological resources of the Southern Ocean and complex investigations of Antarctic mineral, hydrocarbon and other natural resources. It clarified that these investigations would be purely scientific and consistent with the statement it made at ATCM XXV (Warsaw) on exploratory research, and would not contravene Article 7 of the Environment Protocol.”

This might be the beginning of exploitation of a Treaty/Protocol vulnerability. Under the cover of science, the Russian government is beginning to evaluate Antarctica’s resources.

But it won’t be the first time that a government is using this method: Under the cover of science, Japanese people are fishing whales in the southern ocean. Just have a look on the Sea Shepherd website.

Is this right?

We don’t think so! We are aiming to fight against this form of closure, but we need your help.

What should we do?

We are Mozillians and we believe in openness and peace. We will put our time and effort in order to protect the Antarctica environment, but because we also believe in open and accessible internet, we put our time and effort in protecting the internet that we all love.

There are two simple ways to show your love to Antarctica.

  1. Taking Antarctica Treaty System as an example, we believe that we can, together, write laws for an open and accessible internet. It’s only seven pages to declare Antarctica as a land of peace and science. Antarctica is not the only place where ideals are possible. United Nation is also a major actor in human ideals. You can find all the treaty and protocol written by UN here. Feel free to also join campaigns or projects that want to protect this wonderful continent.
  2. As the open internet and peaceful Antarctica probably both matter to you, please send us a photo of you and the Mozilla Antarctica logo, no matter if you went to Antarctica or not. You can also use it as a flag and put it in front of something Antarctica-related. Just because you support two symbols of freedom put together. We have already received lots of nice pictures. Here are some of them:

David

Picture 1 of 5

You can also join our Google group.

Apart from that, we have many exciting things that we want to share with you during the next few days and weeks. On our Facebook page, we announced a website which will allow you to send virtual postcards with your custom picture to your friends. And we’re also going to post an exciting interview with an Antarctican later this week, so stay tuned!

Remember, this is a community that is open for everyone who’s interested in Mozilla, Firefox or Antarctica. There are no limits, borders, or special requirements. In the beginning, it was a little dream that turned into something more and more important. A rising amount of scientists and Mozillians are getting interested in this project. Let us begin this great adventure and join us!

Camino BlogCamino 2.1.1 Released!

We’ve just released Camino 2.1.1, a maintenance release which contains various security and stability updates to Camino 2.1. All users are urged to update.

In addition, Camino 2.1.1 is available in the following languages:

  • Chinese (Simplified)
  • Dutch
  • English (US)
  • French
  • Italian
  • Japanese
  • Norwegian (Bokmål)
  • Spanish (Castellano)
  • Swedish

As always, you can download Camino 2.1.1 in English (or the multilingual version) from our website, and existing Camino users will receive this release via software update.

When you first launch a new version of Camino, the welcome page now checks for an outdated Flash Player plug-in to help keep you up to date. If you see an update message, please follow the link to install the latest Flash Player plug-in to get the most stable and secure browsing experience.

Mozilla ITCaching for Monitoring: Timing is Everything

I found Baron’s reasoning on why the Percona Nagios plugins do not use caching interesting. On the surface, the logic is sound – you do not want to cache when you want real-time monitoring.

I have not yet had time to look at the Percona plugins for Nagios, though I do want to, because back at PalominoDB I helped write a Nagios plugin for MySQL that allows you to do arbitrary calculations. By “arbitrary calculations” I mean you can have a calculation like “Threads_connected/max_connections*100″ and set a threshold of “>80″. You can mix and match MySQL status variables and system variables, and use any perl functions as well, including basic arithmetic.

We put a caching function in there, complete with examples. Why would we do that if caching is bad, as Baron says? Well, long-term caching is bad, but it is certainly acceptable to have caching with a threshold lower than the check interval. With the PalominoDB Nagios plugin for MySQL, you can have 10 different calculations, and set the cache threshold on a per-check basis – the examples use 60 seconds.

If I have 10 calculations, I can set it so the checks do not re-connect to MySQL if there is a file that’s less than 60 seconds old. With checks that run every 5 minutes by default, it makes complete sense to cache the first run of SHOW STATUS/SHOW VARIABLES/SHOW PROCESSLIST, and the other 9 checks use the cache file – but only if it fresh within the past minute.

It is quite likely that the Percona Nagios plugins for MySQL do not lend themselves to this type of caching. Because the PalominoDB Nagios plugin is so powerful, it makes sense to have this type of micro-caching. Otherwise, each additional monitoring check adds more strain on the database.

Edited to add: I just took a look at the Percona monitoring plugins for Nagios and they check very, very different things. The level of customization is not as flexible as it is with the PalominoDB Nagios plugin, because it is checking very different things. The Percona monitoring plugins are a set of 12 different checks, as opposed to the 1 check that the PalominoDB plugin has. Still, I could see a value in caching the output of SHOW ENGINE INNODB STATUS (or whatever it uses) for the pmp-check-mysql-innodb plugin, so you can run it three times – once with the idle_blocker_duration option, once with the waiter_count option, and once with the max_duration option, and it only runs the command needed once.

Basically it comes down to this: Baron is correct when he says “Running SHOW STATUS infrequently doesn’t add load to the server.” and I am correct when I say “Running SHOW STATUS frequently adds a lot of load to the server.” The Percona plugin and the PalominoDB plugin are completely different, and there seems to be very little overlap.

Software CarpentryAssessment Redux

The single biggest challenge Software Carpentry faces right now is how to tell what impact it’s having. This is only partly to satisfy funders—as I said back in December, if we don’t know how to tell if we succeeded, we’re going to fail. It would be (relatively) easy to put together a multiple-choice quiz to see how much people have learned about basic shell commands, the syntax of Python, and so on, but that would only address the shallowest aspects of learning. We’re trying to impart some fundamental principles, and what we need is questions that will tell us whether people have internalized them. (As many studies have shown, it’s possible to get a decent score on a quiz without actually understanding the subject matter.)

For example, consider this question about Subversion:

Emmy wants to see what has changed in her working copy since revision 120. The command she should run is:

  1. svn log -r 120
  2. svn diff -r 120
  3. svn revert -r 120
  4. None of the above

It addresses Q05 (“How can I keep track of what I’ve done?”) fairly directly, but not R02 (“Use a version control system”), R03 (“Automate repetitive tasks”), or any of the basic principles. Open-ended answers might do the latter, but it’s hard to come up with ones that don’t lead the witness: asking, “When would you use a version control system?” isn’t going to give us much insight into what people actually think. We could combine a few multiple-choice with a few open-ended, but realistically, if it takes more than 10-15 minutes for people to answer, many (most?) won’t. If anyone can see a way to square this circle, I’d welcome ideas.

Web FWDEarly Stage Financing: It's Complicated

Given all the buzz about angel and seed financing, it’s tempting to think these are easy choices. It’s a good thing we have experts to guide us!

Today our WebFWD Fellows heard the 2nd in a 3-part series for startups by our friends at Orrick, Herrington & Sutcliffe LLP, a firm very engaged with startups, particularly through its Total Access program. Orrick Partner Larry Kane walked us through various terms that entrepreneurs should consider when raising early rounds of funds.

For example, early rounds can often be raised as convertible notes (debt) rather than seed rounds (equity), and there are pros & cons to either choice. Debt has less legal costs and avoids issues of valuations, but remains on the balance sheet. It was good to learn that seed rounds are not just earlier versions of Series A rounds, but carry fewer disclosure requirements, as just one point of difference.

Overall, Larry was a wealth of information on conversions from one security to another, interest rates, risks and more. Highly recommended viewing!

Software CarpentryBadges (Mark 1)

One of our key deliverables for the Sloan Foundation-funded work is a badging program built on top of Mozilla’s Open Badges Initiative. Riffing on our new logo, Carri Han has designed three badges for us:

for people who have mastered our core content
for people who have organized and run workshops
for people who have created content

Please let us know what you think.

Software CarpentryWhy *Not* Use Python

When we started Software Carpentry back in the late 1990s, we used Perl as a teaching language instead of Python. At the time, it was a no-brainer: Perl had many more users, better documentation, and more libraries. We switched because we found ourselves explaining the same inconsistencies over and over again (as I’ve said many times since, every page of the O’Reilly Pocket Guide to Perl used one of the words “except”, “unless”, or “however” at least once). Python had fewer “buts”: we saw right away that students were learning concepts more quickly, and they seemed to retain more as well.

But Python isn’t perfect, and I was reminded very forcefully of its biggest flaw on Saturday, when I spent half a day teaching kids aged 8-14 how to program as part of a Mozilla Hack Jam in Toronto. About three quarters of the kids were able to start drawing pictures with Python’s turtle graphics library right away. The other quarter, though, stumbled (and were sometimes blocked completely) by the same old installation headaches that plague grownups trying to use Python to do science.

One would-be learner showed up with a brand-new MacBook Air running OS X 10.7. Half an hour and four downloads later, he still couldn’t get a turtle to draw a straight line.  We tried 32 and 64-bit DMGs for Python 2.7.2 and Python 3.2.2, without luck; the only advice Google found for us started, “Install the latest version of XCode…”, at which point we gave up. Several others, who had Windows 7 machines, were able to install, but then we discovered that Python still doesn’t put itself on the search PATH. “Oh,” said one of my helpers, “That’s easy, you just go into System… then Advanced… then edit this environment variable…” It’s a good thing he was looking at the computer as he said this, instead of at the faces of the kids he was trying to help—if he’d been doing the latter, he would have realized how inappropriate “simple” and “just” were.

People used to talk about “grand challenges” in scientific computing. Mostly, they meant the kind of big science that shows up on magazine covers. For me, though, the only “grand challenge” in scientific computing that matters is making stuff work the first time for everyone. It might not be as sexy as protein folding, global climate change, or predictive models of fender crumpling, but it would help a lot more people—and not just scientists.

Later: another stumbling block when doing things with turtle graphics is Python’s “counted loop” idiom:

for i in range(3):
  do something

If I want people to draw squares, hexagons, and what-not, I either wave my hands (“Trust me, this is just what you do”) or explain functions and lists when what I really want to do is explain loops. It’s not as big a thing as the installation headaches, but first-class ranges:

for i in [0:3]:
  do something

would make things noticeably easier in this one particular case. Is it important enough to merit changing the language? Probably not on its own, but if there are other reasons to do it—or to go all out and add a cross-product operator:

for (i, j) in [0:3] @ [0:5]:
  do something 15

As a bonus, we could then overload @ for matrix multiplication :-)

Bonjour MozillaL'équipe B2G à Paris

B2G_Paris
(Photo : Vivien Nicolas, c’est pour ça qu’elle est floue)

L’équipe Boot-to-Gecko est à Paris pour la semaine ! Quelque 40 personnes, qui passent leurs journées dans un hôtel à travailler dur sur le projet le plus enthousiasmant du moment. Ne leur reste que le soir pour goûter aux joies de la vie parisienne, et de la bonne bouffe ! On espère qu’elle leur donnera envie de venir plus souvent !

Bonjour B2G !


The Boot-to-Gecko team is in Paris for the week! Some forty people, who spend their days hard-working on the most exciting project at the moment, in a hotel. Only they have the evening to enjoy the pleasures of Parisian life, and great food! We hope it will make them want to come more often!

Bonjour B2G!

Software CarpentryHello from Trieste!

Day 1 of the Trieste bootcamp was a success! Katy and I covered the Bash shell and git. It was encouraging to see students in the lab after dinner working on their shell exercises. In general, the students are very enthusiastic. Later we’ll try to list their home countries. So far, I’ve met people from Colombia, Mexico, Argentina, South Africa, Cameroon, Nigeria, Romania, Italy, Pakistan, Iran, India, and China. Their fields range from astronomy to nuclear physics to climate science.

Today, we are starting Python. You can follow our material on our github page’s wiki. Pay particular attention to Katy’s lectures on git and github, where she introduced git for personal use in hour one then introduced collaborative use through github in the second hour.

Here’s a picture (more to come!)

hacks.mozilla.orgSaving images and files in localStorage

As you might know, localStorage is quite powerful when it comes to quickly storing information in the user’s web browser, and it has also been around in all web browsers a long time. But how do we store files in it?

Using JSON for powerful control

Let’s start with some basic information about localStorage. When storing information in localStorage, you use key/value pairs, like this:

localStorage.setItem("name", "Robert");

And to read it out, you just get the value of that key:

localStorage.getItem("name");

That’s all good and well, and being able to save at least 5 MB, you have a lot of options. But since localStorage is just string-based, saving a long string with no form of structure isn’t optimal.
Therefore, we can utilize the native JSON support in web browsers to turn JavaScript objects to string for saving, and back into objects when reading:


<noscript></p> <pre>var cast = { "Adm. Adama" : "Edward James Olmos", "President Roslin" : "Mary McDonnell", "Captain Adama" : "Jamie Bamber", "Gaius Baltar" : "James Callis", "Number Six" : "Tricia Helfer", "Kara Thrace" : " Katee Sackhoff" }; // Stores the JavaScript object as a string localStorage.setItem("cast", JSON.stringify(cast)); // Parses the saved string into a JavaScript object again JSON.parse(localStorage.getItem("cast"));</pre> <p></noscript>

Storing images

The idea here is to be able to take an image that has been loaded into the current web page and store it into localStorage. As we established above, localStorage only supports strings, so what we need to do here is turn the image into a Data URL. One way to do this for an image, is to load into a canvas element. Then, with a canvas, you can read out the current visual representation in a canvas as a Data URL.

Let’s look at this example where we have an image in the document with an id of “elephant”:


<noscript></p> <pre>// Get a reference to the image element var elephant = document.getElementById("elephant"); // Take action when the image has loaded elephant.addEventListener("load", function () { var imgCanvas = document.createElement("canvas"), imgContext = imgCanvas.getContext("2d"); // Make sure canvas is as big as the picture imgCanvas.width = elephant.width; imgCanvas.height = elephant.height; // Draw image into canvas element imgContext.drawImage(elephant, 0, 0, elephant.width, elephant.height); // Get canvas contents as a data URL var imgAsDataURL = imgCanvas.toDataURL("image/png"); // Save image into localStorage localStorage.setItem("elephant", imgAsDataURL); }, false);</pre> <p></noscript>

Then, if we want to take it further, we can utilize a JavaScript object and do a date check with localStorage. In this example, we load the image from the server through JavaScript the first time, but for every page load after that, we read the saved image from localStorage instead:

HTML


<noscript></p> <pre>&lt;figure&gt; &lt;img id="elephant" src="about:blank" alt="A close up of an elephant"&gt; &lt;noscript&gt; &lt;img src="elephant.png" alt="A close up of an elephant"&gt; &lt;/noscript&gt; &lt;figcaption&gt;A mighty big elephant, and mighty close too!&lt;/figcaption&gt; &lt;/figure&gt;</pre> <p></noscript>

JavaScript


<noscript></p> <pre>// localStorage with image var storageFiles = JSON.parse(localStorage.getItem("storageFiles")) || {}, elephant = document.getElementById("elephant"), storageFilesDate = storageFiles.date, date = new Date(), todaysDate = (date.getMonth() + 1).toString() + date.getDate().toString(); // Compare date and create localStorage if it's not existing/too old if (typeof storageFilesDate === "undefined" || storageFilesDate &lt; todaysDate) { // Take action when the image has loaded elephant.addEventListener("load", function () { var imgCanvas = document.createElement("canvas"), imgContext = imgCanvas.getContext("2d"); // Make sure canvas is as big as the picture imgCanvas.width = elephant.width; imgCanvas.height = elephant.height; // Draw image into canvas element imgContext.drawImage(elephant, 0, 0, elephant.width, elephant.height); // Save image as a data URL storageFiles.elephant = imgCanvas.toDataURL("image/png"); // Set date for localStorage storageFiles.date = todaysDate; // Save as JSON in localStorage localStorage.setItem("storageFiles", JSON.stringify(storageFiles)); }, false); // Set initial image src elephant.setAttribute("src", "elephant.png"); } else { // Use image from localStorage elephant.setAttribute("src", storageFiles.elephant); }</pre> <p></noscript>

Note: A word of warning here is that you might exceed the size available in localStorage, and the best way to control that is using try...catch.

Storing any kind of file

So thats great, we can use canvas to turn images into Data URL and save in localStorage. But what if we want a mechanism that works for any kind of file?

Then it becomes a bit interesting, and we will need to use:

The basic approach is:

  1. Do an XMLHttpRequest for a file, and set the responseType to “arraybuffer”
  2. Load the response of the XMLHttpRequest into a BlobBuilder
  3. Get the blob, i.e. file contents
  4. Use FileReader to read that file and load it into the page and/or localStorage

Let’s look at a complete example where we request an image named “rhino.png”, save it onto a blob, use FileReader to read out the file and finally save that in localStorage:


<noscript></p> <pre>// Getting a file through XMLHttpRequest as an arraybuffer and creating a Blob var rhinoStorage = localStorage.getItem("rhino"), rhino = document.getElementById("rhino"); if (rhinoStorage) { // Reuse existing Data URL from localStorage rhino.setAttribute("src", rhinoStorage); } else { // Create XHR, BlobBuilder and FileReader objects var xhr = new XMLHttpRequest(), blobBuilder = new (window.BlobBuilder || window.MozBlobBuilder || window.WebKitBlobBuilder || window.OBlobBuilder || window.msBlobBuilder), blob, fileReader = new FileReader(); xhr.open("GET", "rhino.png", true); // Set the responseType to arraybuffer. "blob" is an option too, rendering BlobBuilder unnecessary, but the support for "blob" is not widespread enough yet xhr.responseType = "arraybuffer"; xhr.addEventListener("load", function () { if (xhr.status === 200) { // Append the response to the BlobBuilder blobBuilder.append(xhr.response); // Create a blob with the desired MIME type blob = blobBuilder.getBlob("image/png"); // onload needed since Google Chrome doesn't support addEventListener for FileReader fileReader.onload = function (evt) { // Read out file contents as a Data URL var result = evt.target.result; // Set image src to Data URL rhino.setAttribute("src", result); // Store Data URL in localStorage localStorage.setItem("rhino", result); }; // Load blob as Data URL fileReader.readAsDataURL(blob); } }, false); // Send XHR xhr.send(); }</pre> <p></noscript>

Using “blob” as responseType

In the above example we used the responseType “arraybuffer” and a BlobBuilder to create something we could use for the FileReader. However, there’s also a responseType called “blob” which returns a blob directly that we can use with the FileReader. The above example would instead look like this then:


<noscript></p> <pre>// Getting a file through XMLHttpRequest as an arraybuffer and creating a Blob var rhinoStorage = localStorage.getItem("rhino"), rhino = document.getElementById("rhino"); if (rhinoStorage) { // Reuse existing Data URL from localStorage rhino.setAttribute("src", rhinoStorage); } else { // Create XHR, BlobBuilder and FileReader objects var xhr = new XMLHttpRequest(), fileReader = new FileReader(); xhr.open("GET", "rhino.png", true); // Set the responseType to arraybuffer. "blob" is an option too, rendering BlobBuilder unnecessary, but the support for "blob" is not widespread enough yet xhr.responseType = "blob"; xhr.addEventListener("load", function () { if (xhr.status === 200) { // onload needed since Google Chrome doesn't support addEventListener for FileReader fileReader.onload = function (evt) { // Read out file contents as a Data URL var result = evt.target.result; // Set image src to Data URL rhino.setAttribute("src", result); // Store Data URL in localStorage localStorage.setItem("rhino", result); }; // Load blob as Data URL fileReader.readAsDataURL(xhr.response); } }, false); // Send XHR xhr.send(); }</pre> <p></noscript>

Web browser support

localStorage
Supported since long in all major web browsers, including IE8.
Native JSON support
Same long support as localStorage.
canvas element
Supported a long in most major web browsers, but only since IE9.
XMLHttpRequest Level 2
Supported in Firefox and Google Chrome since long, Safari 5+ and planned to be in IE10 and Opera 12.
BlobBuilder
Supported in Firefox and Google Chrome since long, and is planned to be in IE10. Unclear about Safari and Opera.
FileReader
Supported in Firefox and Google Chrome since long, Opera since 11.1 and is planned to be in IE10. Unclear about Safari.
responseType “blob”
Currently only supported in Firefox. Will soon be in Google Chrome and is planned to be in IE10. Unclear about Safari and Opera.

Checking and clearing localStorage

The easiest way to check what’s in localStorage:

  • Firebug: DOM tab, then scroll down to or search for localStorage
  • Google Chrome: Developer Tools, under the Resources tab
  • Opera: In the Storage tab in Opera Dragonfly

Demo and code

I’ve put together a demo with localStorage and saving images and files in it where you can see both the canvas approach and the one using XMLHtpRequest 2, BlobBuilder and FileReader.

The code for storing files in localStorage is also available on GitHub, so go play now!

European Mozilla Community BlogAbout Mozilla Spaces...

DY Hack-A-Space
When I attended the Mozilla Festival last November, I saw an unusual workshop: you had to "hack" a space to make it the ideal place to work, create, innovate, in short, change the world. Initially, you had a plan of an empty space and add parts, equipment, furniture, arrange it to fit your needs. It was then possible to create the office of our dreams with modeling clay. The final step was to share plans, to create a debate around what should be a workspace. The project was called "Hack-A-Space".http://www.mozilla.org/en/about/mozilla-spaces/ Recently, Mozilla launched a web page named Mozilla Spaces:

Mozilla Spaces are open working environments where Mozillians can hack, code, design, research, create, engage and contribute to building a brighter future for the Web. Keep reading to learn more or check out the map above for info on specific locations.

And I don't know why, but this project remind me about the Mozilla Festival's workshop. As this workshop suggested, I share my version of Mozilla Space "hacked", in Paris' sauce, of course :)
  1. In downtown, close from a metro station: it must be conveniently accessible.
  2. Unlimited Internet, high availability, unfiltered, uncensored: it sounds trivial, but nothing more irritating than a cut Internet during a meeting or when you're researching for a project. Similarly, nothing more boring than blocked ports when we want access to Jabber to contact people, for example.
  3. Comfortable desks, in relatively large quantities, in a calm environment: it sounds trivial again, but nothing more annoying than a creaky chair or an unsteady desk. Small offices isolated must be added, where it may be possible to isolate themselves to think or to phone.
  4. A conference room: to make events more or less public, conferences, demos, lessons, playing geeks in short.
  5. A kitchen and a relaxation area: we all know the coffee machine's phenomenon that solves bugs, or at least is useful to disconnect and socialize 5 min.
  6. Accessibility to all: triviality again, but nobody thinks about it. In the same way that web integrators often forget the integration of accessibility, we often forget that a work place must be accessible for a wheelchair.
  7. An on-line forum, dedicated to the Space: to keep in touch afterwards, there is no better way than the Web. For keeping exchanges about past events, announcing next ones, requesting emergency assistance, etc. A instant channel and a recording one is the perfect combo (for example, IRC + wiki).
  8. A community manager: to organize life in this kind of place, an office manager is not enough. It needs someone close to communities, capable of directing newcomers, organizing events (geek or not geek), speaking for Mozilla, linking projects to the Space.
Imagine that this co-working space dedicated to the Web is available in Paris! Just a quick scenario. I am bringing a project. It may be an association project, an software's idea, even a project to create a business, why not? I'm home alone, and do not necessarily like to work at my place. Also, I did not necessarily have all the skills for my project. I seek a place where I'm pretty sure of finding people to help me, or even to take part in the project, if it tells them. I see this kind of spaces, where meetings are organized about documentation, code, open web, standards, [add your topic here] are organized.

A beautiful dream of geek, isn't it?

Bonjour MozillaPhilipp Kewisch

Philipp Kewisch
(Photo : David Ascher)

Cette infinie douceur dans le regard est le reflet de l’éternelle bienveillance dont fait preuve Philipp Kewish. Philipp est en effet capable d’attendre 5 minutes que vous trouviez enfin le mot que vous cherchez en anglais, sans broncher, sans montrer de signes d’impatience. Et puis surtout, fiancé et sur le point de se marier, Philipp appartient à une espèce rarissime : le geek romantique ! En fait, avant de le rencontrer, Bonjour Mozilla ne savait même pas que cela existait… Mais écoutez Philipp vous parler de sa chère et tendre, et vous comprendrez. Voici pour le côté romantique. Pour le côté geek, Philipp dirige aujourd’hui le projet Mozilla Calendar, soit un calendrier décliné sous deux formes :

  • Lightning : une extension pour les diverses applications de Mozilla : Thunderbird, Firefox et Mozilla suite.
  • Sunbird : une application indépendante.

Vous pourrez trouver toutes les dernières infos à ce sujet ici.

Bonjour Philipp !


This infinite tenderness in his eyes reflects the eternal benevolence of Philipp Kewish. Indeed, Philipp can wait five minutes while you find the word you’re looking for in English, without flinching, without showing signs of impatience. More importantly, Philipp is engaged and about to marry. He belongs to a rare species: romantic geeks! In fact, before meeting him, Bonjour Mozilla wasn’t aware of it’s very existence… But listen to Philipp telling you about his beloved, and you will understand. That’s for the romantic part. About his geek side, Philipp is managing the Mozilla Calendar project, which is a schedule declined in two forms:

  • Lightning: an extension for various Mozilla applications: Thunderbird, Firefox and Mozilla suite.
  • Sunbird: an independent application.

You can find here the latest news about it.

Bonjour Philipp!

Software CarpentryA Flash (well, MP4) from the Past

In July 2009, we held a one-day symposium on open science at the University of Toronto. I recently uploaded video from those talks to YouTube; the audio is a bit shaky, but I hope they’re useful despite that. The talks are linked below.

Titus Brown: Choosing Infrastructure and Testing Tools for Scientific Software Projects

Cameron Neylon: A Web Native Research Record: Applying the Best of the Web to the Lab Notebook

Michael Nielsen: Doing Science in the Open: How Online Tools are Changing Scientific Discovery

David Rich: Using ‘Desktop’ Languages for Big Problems

Victoria Stodden: How Computational Science is Changing the Scientific Method

Jon Udell: Collaborative Curation of Public Events

Greg Wilson: Opening Remarks

Bonjour MozillaTarte Firefox

mozillapie
(Photo : Robhawkes)

Si vous venez de vous réveiller, voici qui devrait vous donner faim : une authentique tarte à l’effigie de Firefox. On la doit à Robin Andrew Hawkes, évangéliste chez Mozilla. C’est en effet, une manière convaincante, et appétissante d’évangéliser ;-)

Bonjour la tarte !


If you just wake you up, here is a little something to whet your appetite: an authentic pie dedicated to Firefox. We owe it to Robin Andrew Hawkes, a Mozilla evangelist. It’s indeed a convincing and appealing mean of evangelizing ;-)

Bonjour Pie!

Bonjour MozillaFaites comme Tristan Nitot, sauvez des chatons !

packliberte
(Photo : Tristan Nitot)

A l’heure des lois liberticides que sont Acta, Sopa/Pipa, Hadopi… Trois des associations les plus emblématiques de défense du Logiciel Libre, que sont l’April, Framasoft, et la Quadrature du Net, s’allient et proposent un “Pack Liberté”. Achetez un pack, et vous cotiserez ainsi pour ces trois entités, et en plus, ils vous en font la promesse: “un « Pack Liberté » acheté, c’est la promesse de 100 lessives à 90°. Et en cadeau Bonux, vous sauvez un chaton qui continuera à loler librement sur internet !”… Alors, faites comme Tristan Nitot, et optez pour le “Pack Liberté”. L’essayer, c’est l’adopter !

Bonjour le Pack Liberté !


At a time of repressive laws such as Acta, Sopa/Pipa, Hadopi… Three of the most emblematic associations for the defense of Free Software, namely April, Framasoft, and the Quadrature du Net, join forces and offer a “Freedom Package”. Buy a pack, to contribute to these three entities, and, in addition, they promise you: “a Freedom Pack purchased is the promise of 100 washing at 90°C. And as a bonus, you’re saving a kitten that will freely continue to LOL on the Internet! “… So, do as Nitot did, and choose the “Freedom Pack”. Try it and buy it!

Bonjour Freedom Pack!

Burning Edge - Firefox2012-02-17 Trunk builds

Notable fixes:

  • Fixed: 697762 - Land the JavaScript debugger. (past's blog post)
  • Fixed: 724563 - Enable SPDY by default. (patrick's blog post)
  • Fixed: 716538 - Enable the New Tab Page by default.
  • Fixed: 235853 - Defer proxy resolution for HTTP and HTTPS PAC to avoid blocking main thread during DNS resolution.
  • Fixed: 90268 - Move plugins to content - plugins should withstand a reframe of the object frame.
  • Fixed: 698519 - Update to libjpeg-turbo 1.2.
  • Fixed: 718939 - Java applet causes text entry fields to become semi-unresponsive.
  • Fixed: 715308 - Decode ::Draw()'n images before other images.
  • Fixed: 627616 - @font-face fonts not loaded over authenticating proxy.
  • Fixed: 631250 - Status overlay switches to right side of window when find bar is open.
  • Fixed: 629200 - Redesign how we send change notifications from SVG types.
  • Fixed: 695482 - "Search Google for <selection>" should open in the foreground, not be governed by loadInBackground preference.
  • Fixed: 727131 - Add hidden pref to allow "Search Google for" tabs to open in background.
  • Fixed: 542938 - Add hidden pref to disable oncopy, oncut & onpaste event handling.
  • Fixed: 673470 - Replace the sqlite safeb store with a flat file.
  • Fixed: 294260 - Auto detect previous start-up failure and offer to start in safe mode.
  • Fixed: 394769 - JS: setTimeout/setInterval "lateness" argument breaks expected behavior.
  • Fixed: 700822 - JS: JIT hardening option and win32 ExecutableAllocator randomization.
  • Fixed: 699565 - JS: Implement Harmony for-of loops.
  • Fixed: 563318 - [Windows] Switch to Visual C++ 2010.

All 1244 changes between 2012-01-31 nightly and 2012-02-17 nightly

Nightly builds (discussion)

Mozilla SecurityMessage to Certificate Authorities about Subordinate CAs

Earlier today we sent an email to all certificate authorities in the Mozilla root program to clarify our expectations around certificate issuance. In particular, we made it clear that the issuance of subordinate CA certificates for the purposes of SSL man-in-the-middle interception or traffic management is unacceptable. We made it clear that this practice remains unacceptable even when the intended deployment of such a certificate is restricted to a closed network.

In addition to this clarification, we have made several requests. We have requested that any such certificates be revoked, and their HSMs destroyed. We have requested the serial numbers of those certificates and fingerprints of their signing roots so that we, and other relying parties, can detect and distrust these subCA certificates if encountered. We have requested that any CAs who have issued subCA certificates fulfill these requests no later than April 27, 2012.

Finally, we re-iterated our belief that each root is ultimately accountable for every certificate it signs, directly or through its subordinates. Participation in Mozilla’s root program is at our sole discretion, and we will take whatever steps are necessary to keep our users safe, up to and including the removal of root certificates that mis-issue, as well as any roots that cross-sign them. Nevertheless, we believe that security is best served when browsers and CAs can work together; we hope that frank communication and clear expectations can resolve these issues before any such action is required. We must also be diligent in looking for new ways to improve the security systems of the web. Those systems are built on the trust of web users, and we all have a responsibility to be strong stewards of that trust.

Johnathan Nightingale
Senior Director of Firefox Engineering

Mozilla SecurityMozilla releases to address CVE-2011-3026

Issue

The libpng graphics library, used by Firefox and Thunderbird as well as many other software packages, contains an exploitable integer overflow bug. An attacker could craft malicious images which exploit this bug, and deliver them to users through websites or email messages.

Impact to users

This bug is remotely exploitable and can lead to arbitrary code execution. Firefox, Thunderbird and Seamonkey users could be attacked simply by displaying a maliciously crafted image.

Status

Mozilla is aware of this bug and has issued a fix that will be released today for Firefox and Thunderbird.

Credit

The bug was reported by RedHat representatives

Mozilla ITThis week in Mozilla Databases: Friday February 17, 2012

I have been at Mozilla nearly three months, and I used to blog a lot more than I currently do. A lot of the content I used to blog about I end up blogging and talking about in OurSQL: The MySQL Database Community Podcast. And I have also been getting used to the Mozilla firehose, as well as my own firehose of database projects that need to be done.

There are two very large projects that are time-sensitive that I am working on: migrating databases from an older data center to a newer one, and the impending public launch of the Mozilla Apps Store.

That being said, this week in Mozilla databases we have:

- migrated/improved/built our dev/stage databases for Socorro, our crash stats database.

- put monitoring on a newer backup server, after a random check showed replication had been stopped on one backup instance for several days due to the master’s binary logs changing names. Of course we also fixed that broken replication.

- made more progress getting the newer backup server to act like the older backup server – we do physical and logical backups, and currently the logical backups are working properly. The physical backups are a legacy cold backup, and I will not be migrating that, instead opting to use xtrabackup.

- turned off our Scalarc software, as we now have an appliance for our proof-of-concept test.

- retired 2 machines that were not in use, and exist in our older data center. I am always paranoid when I shut a machine down, triple-checking that I am on the right server when I type “shutdown now”.

- did a test migration of the production database for Mozilla QA, from the old data center to the new one.

- added new custom fields to Bugzilla for the release of Thunderbird 10.

- Created new databases and access for:
Case Conductor, a replacement for Litmus for the QA team
De Todos Para Todos, Mozilla’s outreach project to Latin America.

There is much much more to come in the weeks ahead!

BlueGriffonOne-Click Templates Manager 2.0

I'm currently ironing the v2.0 of our One-Click Templates add-on to BlueGriffon. First version of that add-on is already a best-seller and I think you're going to like v2.0. Main changes are:

  • nearly 3,000 (yes, three thousand) free HTML+CSS templates!
  • you can now create your own One-Click Templates from any document of yours

So here's a static demo for you, click on the images to see a larger version.

First let's have a web document created inside BlueGriffon. For instance a blank page for the BlueGriffon web site:

BlueGriffon editing a page for its web site

We are going to turn that document - and all the objects linked to it (stylesheets, replaced elements, fonts) - into a personal template through the File > Save as Template menu entry:

Save as Template menu entry

The dialog it opens offers first to select where you want your templates and the associated database to be stored, and then set a few metadata for your template (mandatory unique name, description, license):

Save as Template dialog

Once all choices are made, the dialog looks like:

Save as Template dialog ready to save

And we only have to click on the Save button to create our template's package. Once it's done, the package's file is revealed by the OS. Please note the sqlite database for easier access to templates' metadata. All URLs inside our document or inside the associated stylesheets (including imported stylesheets, whatever the nesting level) are rewritten for cleaner packaging.

package file revealed

Now let's close our original document and use our new personal template. To do that, use the File > One-Click Templates menu entry

1-Click Templates menu entry

That opens the Template Manager. In the current version, 2864 free templates are available!

1-Click Templates manager

Just for fun, let's look at the templates proposed under Creative Commons Attribution 2.5 by freecsstemplates.org:

freecsstemplates.org templates

For each template, we have a thumbnail, a description if one is available, a license, an author, a button linking to a live demo if one is available and a button to select that template to create a new document. If a large preview image is available, clicking on the thumbnail will show it. Hitting the Select button to use the template requires only one last operation from you: you must provide a file name for your new document... Let's go back now to our personal templates, and here's the one we just created:

personal templates

So let's create a new document based on our personal template. As I said earlier, I only have to provide a file name:

filename prompt

I'm all set. My new document is here. Wherever were the original files on my hard disk, I now have a "blank" document based on a template well packaged, all media files living together, all stylesheets living together, all fonts living together, all scripts living together for a greater maintainability.

a new document based on our template

Every time you'll use the File > Save as Template menu entry, it will remind you the location of the directory where your personal templates live in. Backing them up is then trivial and giving them to someone else is also trivial. Just give that person a copy of your templates directory...

This v2.0 is going live soon, don't miss it!

Update: images updated so they don't harm planet.mozilla.org

hacks.mozilla.orgDev Derby February – working with touch events

It’s February and time for our next Dev Derby! Dev Derby is a part of Mozilla Developer Network (MDN), and each of them are focused on a certain technology where people can submit their demos.

This month, we want to see what you can do with touch events! If you need help to get started, we recommend reading more about touch events on MDN to know how they work and what you have available.

Prizes

Android mobile device
Winner gets an Android mobile device from Motorola or Samsung.
Rickshaw laptop bag
Runner-up gets a hand-crafted laptop messenger bag from Rickshaw.
MDN t-shirt
3rd place gets a limited edition MDN t-shirt to show off their geek cred.

And as if that wasn’t enough, your demo will be showcased in Mozilla’s Demo Studio, and we would like to feature you in an article here on Mozilla Hacks as well!

Go for it!

Submit your demo now!

Bonjour MozillaOtto de Voogd

otto
(Photo : Julia Buchner)

Tenir un stand pendant un événement vous ennuie ? Bonjour Mozilla a la solution, en la personne de Otto de Voogd ! Avoir Otto dans son équipe, c’est la garantie de pouvoir toucher le grand public tout en passant vous-même un bon moment ! Car Otto est un trésor d’humour et de gentillesse, le meilleur des ambassadeurs : il sait parler à chacun, l’apostrophant d’un “bonjour” dans toutes les langues (car Otto parle anglais, néerlandais, et français), est toujours disponible, et se révèle un excellent camarade. Né en Hollande, Otto vit aujourd’hui en Estonie… Et il en est fier ! Car ce pays résiste vaillamment au traité ACTA, et se montre à la pointe en matière de libertés sur Internet. Libriste convaincu, Otto contribue depuis longtemps à Mozilla, il développe notamment des outils pour Firefox, dont le célèbre et indispensable Foxysearch

Bonjour Otto, et merci pour tout ce que tu as fait au Fosdem !


Keeping a booth at an event get you bored? Bonjour Mozilla has the solution in the person of Otto de Voogd! Having Otto in your team guarantees you to reach the general public while having a good time! Since Otto is overwhelming with humor and kindness, he is the best ambassadors: he can speak to everyone starting the conversation with “hello” in every language ​​(since Otto speaks English, Dutch, and French), is always available, and is a very good fellow. Born in Holland, Otto now lives in Estonia… and is proud of his adoptive country for its valiant resistance to the ACTA treaty, and its being on the edge of Internet freedom matters. Free Software advocate, Otto is a longtime Mozilla contributer and has developed tools for Firefox among which the famous and indispensable Foxysearch.

Bonjour Otto, and thank you for everything you did at Fosdem!

Mozilla Add-ons BlogUsing Javascript ( *.jsm ) modules in the SDK

The ability of developers using the SDK to get chrome authority and access xpcom services is a key feature. The SDK was designed from the start with the assumption that some developers will always need access to the underlying Mozilla platform. While xpcom is the main way to access low level apis, a lot of functionality in Firefox is instead implemented as JavaScript Modules, and can be used in your code much more naturally than xpcom services because they are just JavaScript, and from a design perspective quite similar to CommonJS modules.

Here’s a code snippet that you can use to import a jsm into your code:

const { Cu } = require("chrome");
 
let AddonManager = Cu.import("resource://gre/modules/AddonManager.jsm").AddonManager;
 
AddonManager.getAddonsByTypes(["extension"], function(addons) {
    var addonData = [];
 
    for (let i in addons) {
		let cur = addons[i];
		addonData.push({
			id: cur.id.toString(),
			name: cur.name,
		});
	};
	console.log(JSON.stringify(addonData, null, '   '));
});


The code requires chrome in order to get the Cu object ( Components.Utils ) and then imports the AddonManager module. Nice and easy! The only real problem with adding code like this to your add-on is that getting chrome authority to access Cu has review implications on AMO, and we in the Jetpack team want to do everything we can to get your add-ons reviewed as quickly as possible.

With that in mind, we have been considering including a utility function in the SDK that allows developers to import jsm modules without having to get chrome authority. Ben Buksch contributed this code snippet in a bug that neatly abstracts the small amount of chrome-level code into a single function:

const { Cu } = require("chrome");
/**
 * Imports a JS Module using Components.utils.import()
 * and returns the scope, similar to Jetpack require().
 *
 * @param targetScope {Object} (optional)
 *     If null, the scope will just be returned
 *     and *not* added to the global scope.
 *     If given, all functions/objects from the JSM will be
 *     imported directly in |targetScope|, so that you
 *     can do e.g.
 *       requireJSM("url", this)
 *       someFuncFromJSM();
 *     which will have the same effect as
 *       Components.utils.import("url");
 *       someFuncFromJSM();
 *     in normal Mozilla code, but the latter won't work in Jetpack code.
 */
function requireJSM(url, targetScope)
{
  var scope = targetScope ? targetScope : {};
  return Cu.import(url, scope);
  return scope;
}

I’ve created a Jetpack module on Builder that you can use to load Javascript modules using Ben’s code:

https://builder.addons.mozilla.org/library/1040049/latest

I’ve also created this example addon that uses my module:

https://builder.addons.mozilla.org/addon/1040048/latest/

Here is the above code, re-factored to use my module:

 
let requireJSM = require("jsmutils/jsmutils").requireJSM;
let AddonManager = requireJSM("resource://gre/modules/AddonManager.jsm").AddonManager;
 
AddonManager.getAddonsByTypes(["extension"], function(addons) {
	var addonData = [];
 
	for (let i in addons) {
		let cur = addons[i];
		addonData.push({
			id: cur.id.toString(),
			name: cur.name,
		});
	};
	console.log(JSON.stringify(addonData, null, '   '));
});

I know what you’re thinking – there isn’t really any less code involved using the abstracted module. I would argue that the advantage is instead that I have isolated the part of my code that needs chrome authority to a single, small file that is very easy to understand. This is better separation and greatly aids the ability of our add-on reviewers to quickly understand your code and any security implications it might have.

Mozilla Add-ons BlogThe Add-on Review Queues are empty!

Thanks to the tireless efforts of the AMO Editors group, we have reached an important milestone that hasn’t been reached in years (or ever, probably). All add-on review queues are currently empty.

Add-on review queues - all empty!This means that if you submit your add-on now or in the following days, chances are it will be reviewed within a few minutes. This is amazing feat, specially considering that add-on submissions are constantly increasing, and we add new policies all the time that make add-on reviews higher quality, but also longer to perform.

We’d like to thank and congratulate the AMO Editors team for their exceptional work along the years. You guys are amazing! We’ll call out our most active contributors soon, when we wrap up the very successful New Year’s Challenge.

PS: If you’re an add-on developer and your add-on hasn’t been reviewed, please get in touch with us by commenting here. It’s possible that your add-on is in an Incomplete state and you forgot to add it to one of the queues, or it could be a bug on our site.

Mozilla Add-ons BlogCan’t make the SF Meetup? Catch it on Air Mozilla!

The Add-ons meetup in San Francisco is less than a week away, so be sure to RSVP if you haven’t already.

If you’re interested in seeing how easy it is to create add-ons for Firefox with Add-on Builder and the Add-on SDK but can’t make the event, we are broadcasting it on Air Mozilla from 6:30-7:30pm.

Hope you can join us!

Date: Tuesday, February 21, 2012
Time: 6:00 – 8:00pm
Location: Mozilla SF – 2 Harrison Street, 7th Floor

hacks.mozilla.orgState of the Docs, February 16, 2012

The ramped-up level of documentation contributions that started in January is surviving longer than most New Year’s resolutions. Keep it up! And as ever, thanks to everyone who contributed, whether you’re mentioned here or not!

Help wanted

Michael Deal contributed a great example page that shows how Canvas compositing works with partial opacity. Now it needs to be integrated into the Compositing lesson of the Canvas tutorial.

Web standards docs

Mozilla technology docs

Mozilla projects docs

Identity at MozillaBrowserID now available in 28 languages

We’re proud to announce that with the latest update to BrowserID the sign-in flow is available in 28 languages, in addition to English.

Like many of our previous updates, users and sites automatically benefit from the added feature without having to change anything. Users will see BrowserID in their preferred language, based on their browser’s settings.

Here’s what BrowserID looks like in traditional Chinese:

browserid_zh-TW

This change has been possible because of our amazing community of volunteers. Firefox ships in over 70 languages and that energy also powers our vision for a cross-platform identity management.

Along with ID provider support, shipping our service in multiple languages are two big milestones for BrowserID maturity.

Users of your websites can now have a native language experience in the following locales:

Afrikaans (af) català (ca) Čeština (cs) Dansk (da)
Deutsch (de) Ελληνικά (el) Español (es) Eesti keel (et)
Euskara (eu) suomi (fi) Français (fr) Frysk (fy)
Gaeilge (ga) Hrvatski (hr) Italiano (it) Ligurian (lij)
Nederlands (nl) ਪੰਜਾਬੀ (pa) Polski (pl) Русский (ru)
slovenčina (sk) slovenščina (sl) Shqip (sq) Српски (sr)
Svenska (sv) Türkçe (tr) 中文 (简体)
(zh-CN)
正體中文 (繁體)
(zh-TW)

Dig Deeper

Mozilla DevToolsWeekly developer tools meeting, Feb 16

The weekly meeting minutes are up on the wiki. Here are some highlights:

  • Firebug has integrated the Source Editor, but it turns out that this doesn’t work in SeaMonkey.
  • Victor has a Blender importer for Tilt.
  • Some new commands have landed for the command line (tilt with screenshot, edit and pref not far behind)
  • Panos is experimenting with attaching the debugger to B2G
  • Christian Heilmann reflected that we need to communicate more about why the built in tools are different from Firebug and where they’re going.
  • I posted a blog post about the developer tools roadmap for 2012.

That’s it for this week! Come join us next week.

Software CarpentryHow They See Us, Part N

This week’s Ed-Tech Podcast from Steve Hargadon and Audrey Watters discusses Software Carpentry a bit around the 23:00 mark [1]. In answer to Hargadon’s point about home schooling, and whether the way people learning programming even fits the notion of class, we have a couple of answers. First, most of the people we’re trying to help don’t know enough (yet) to know what to type into Google, how to recognize when they’ve stumbled upon an answer to their problem, or what to tag a question with on Stack Overflow.  Some can climb that hill themselves; a handful can’t, but most won’t (see below), so one of our goals is to help them get from A to B so that they can get from B to Z.

In addition, while the scientists and engineers we’re trying to help might think that computing is interesting, their real passion is quantum chemistry, neurology, or climate change; in practical terms, computing is a tax they have to pay in order to do the research they actually want to do [2].  From that perspective, “wander around and stumble upon” feels like a high-risk strategy, so they (mostly) vote with their feet and don’t do it.

Second, even those who do wander and stumble tend to find very different things. As a result, there’s no common core of skills or assumptions that one researcher can reasonably expect her peers to be familiar with. In contrast, most researchers can expect colleagues to know at least a few basic things about statistics, and to share some cultural values about when a correlation is significant and so on.  In choosing what to include in our core, we’re also (implicitly) making a statement about what that core is, and what’s reasonable to expect others to share.

[1] What’s really interesting, though, is the discussion in the first few minutes about Silicon Valley’s ed-tech amnesia.

[2] Regarding Hargadon’s comment about “willingness to hack”, I think that every researcher I’ve ever met has that in spades—they’re just investing that energy in something other than programming. And yes, lists of “things programmers need to know” make me yawn too—but only if I already know enough about the topic to forge ahead on my own. I’m really grateful for “must read” lists whenever I dive into a new area…

hacks.mozilla.orgMozilla Hacks Weekly, February 16th 2012

It’s Thursday, meaning that all of us in Mozilla’s Developer Engagement team want to share our reading tips! And man, have we got a lot of good links for you this week!

At the end of this blog post, you also have all the Developer Engagement team members and what they work on. If you are interested in discussing more, contributing or taking part of our work, don’t hesitate to contact us!

Weekly links

If there is anything you think we should read or know about, don’t hesitate to post a comment, contact us on Twitter or through any other means.
The picks this week are:

The Developer Engagement team

Mozilla’s Developer Engagement team work with writing articles, documentation – such as MDN (Mozilla Developer Network) – public speaking and generally helping and informing about open technologies and Mozilla products. If you are interested in following our work, here are the team members:

Barry Munsterteiger

Barry is our Creative Instigator and is working on interesting and limit-breaking demos.

Twitter: @mozBarry

Christian Heilmann

Christian is Mozilla’s Principal Evangelist and is working with HTML5, Open Web, BrowserID and Developer Tools in Firefox. He is also maintaining the @mozhacks account together with Robert Nyman.

Blog: http://christianheilmann.com/
Twitter: @codepo8

Eric “Sheppy” Shepherd

Eric is the Developer Documentation Lead for the MDN documentation and everything surrounding it.

Blog: http://www.bitstampede.com/
Twitter: @sheppy

Havi Hoffman

Havi works with Mozilla Labs and WebFWD, and maintains the @mozlabs account.

Twitter: @freshelectrons.

Janet Swisher

Janet is working on MDN documentation and is organizing doc sprints to ensure we have premium quality on MDN.

Blog: http://www.janetswisher.com/
Twitter: @jmswisher.

Jean-Yves Perrier

Jean-Yves is another one of our technical writers working on MDN documentation.

Twitter: @teoli2003.

Jeff Griffiths

Jeff is working with the Add-ons SDK (Jetpack).

Blog: http://canuckistani.ca/
Twitter: @canuckistani

Joe Stagner

Joe is working with Web Apps Developer Ecosystem & Partner Engagement, HTML5 and the Open Web.

Blog: http://www.misfitgeek.com/
Twitter: @MisfitGeek

John Karahalis

John is working on Dev Derby.

Twitter: @openjck

Rob Hawkes

Rob is working on HTML5 games and the Open Web.

Blog: http://rawkes.com/
Twitter: @robhawkes

Robert Nyman

Robert is working with HTML5, Open Web, Firefox, WebAPI and maintains the @mozhacks account.

Blog: http://robertnyman.com
Twitter: @robertnyman

Shezmeen Prasad

Shezmeen is working on everything regarding events, organization and connecting conferences with Mozilla speakers.

Stormy Peters

Stormy is the Team Lead for the Developer Engagement team. managing it and evaluating our objectives.

Blog: http://stormyscorner.com/
Twitter: @storming

Tristan Nitot

Tristan is our Mission Evangelist and is focusing on the bigger picture of Mozilla.

Blog: http://standblog.org/blog/en
Twitter: @nitot

Will Bamberg

A picture of Will Bamberg Will is working on documentation for the Add-ons SDK (Jetpack).

Bonjour MozillaBonjour WoMoz : Zofia toujours là !

zofia3
(Photo : Otto de Voogd)

Elle est le rayon de soleil annuel du stand Mozilla au Fosdem (la preuve, en 2011 et 2010) : cette année encore, Zofia nous a fait le plaisir de venir nous rendre visite. Elle grandit, mais garde son adorable frimousse, et est toujours une fan de Mozilla… Pour notre plus grand bonheur !

Bonjour Zofia !


She is a ray of sunshine at Mozilla’s Fosdem booth every year (proved in 2011 and 2010): this year again, Zofia gave us the pleasure of her visit. She grows up, but keeps hier adorable little face, and is still a Mozilla fan… to our greatest delight!

Bonjour Zofia!

Meeting Notes from the Mozilla communityMobile Meeting Minutes: 2012-02-15

Mobile/Notes/15-Feb-2012

Contents

Details

  • Wednesdays – 9:30am Pacific, 12:30pm Eastern, 16:30 UTC

  • Dial-in: conference# 95312
    • US/International: +1 650 903 0800 x92 Conf# 95312

    • US toll free: +1 800 707 2533 (pin 369) Conf# 95312
    • Canada: +1 416 848 3114 x92 Conf# 95312
  • irc.mozilla.org #mobile for backchannel
  • Warp Core Vidyo Room

Schedule

  • Next merge is 2012-03-13

Major Topics for This Week

Release Roadmap
Fx 11 XUL is going to Beta channel. Fx 10 XUL ESR is going to the Release channel.

Uplift Situation
We are focusing on mozilla-central and less on constant uplift. Feel free to request “aurora” and “beta” approval for important bugs. We’ll be doing a mass uplift closer to merge of other things (not critical) that we want on Aurora and Beta.

Crashes
The crash statistics are improving, but we still need to keep a focus on cleaning them up.

Maple Status
Status update from the GFX team on what’s happening in Maple, what we can expect and when we can expect it.

Stand ups

Suggested format:

  • What did you do last week?

  • What are working on this week?
  • Anything blocking you?

Please keep your update to under 2 minutes!

James W. (snorp)
Kats
  • Last week:

    • getting up to speed on new gl layers compositor

    • did some instrumenting to get some metrics from the new compositor (time spent compositing, uploading textures, waiting)
    • wrote a tool to visualize different viewports so we can quickly get an idea of whether our behaviour is correct
    • did some instrumenting to compare skia vs cairo render times using a skia-enabled build on the galaxy nexus
    • refactored a bunch of the profile-reading code in java so it’s cleaner and more efficient (bug 726382) and hopefully allows 723295 to land without triggering random failures
    • got more tests running on the maple branch
    • fixed up compiler warnings on java 1.7
  • Next week:

    • more GL layers stuff – instrumenting and finding out where time is being spent, making sure tests are passing
GBrown

Last week:

  • Robocop reviews, code cleanup

  • Bug 705192 – remotexpcshelltests.py cannot execute xpcshell via SUT agent
  • Startup performance / profiling

Next week:

  • Wrap up 705192

  • Startup performance / profiling
AlexP

Last week

  • bug 721393 – Virtual keyboard enter key doesn’t work correctly in designMode document

    • Pushed the fix
  • bug 719121 – The delete key isn’t working correctly on etherpad
    • Latest patch for bug 721393 partially fixes the issue

    • Found a possible cause of the problem: bug 725919 “Visual cursor position is different from the actual one on Etherpad”
  • Preparing for departure
    • Updated the IME Wiki page to synchronize with the latest implementation of the IME handling components

    • Discussed the IME subject with Chris Peterson, answered his questions
    • Reviewed open IME bugs

This week

  • Wrap up the assigned tasks

  • Prepare equipment for return
  • Friday is my last day at Mozilla
Chris Lord (cwiiis)
Chris Peterson
  • Last Week

    • bug 715251 – Reduce overscroll distance and janky scrolling — IMPLEMENTING REVIEW FEEDBACK

    • bug 708167 – Testing about:home without Placeholder initialization. — ON HOLD, WAITING FOR bug 723251
  • This Week

    • bug 681192 – Investigating romaxa’s patches to avoid layer invalidation when scrolling — IN PROGRESS

    • bug 706891 – Making axis scroll lock unbreakble (regression from XUL Fennec) — CHECKED IN BUT INJECTED INTERMITTENT ROBOCOP FAILURE
    • Coming up to speed on Android IME.
  • Blockers

    • bug 681192 – I need some gfx assistance testing romaxa’s patches.

    • Waiting for bug 723251 to fix placeholder screenshots before I can commit bug 708167.
GCP
  • Last week:

  • This week:
    • Finish bug 726024 Some of the desktop bookmarks are put under “Mobile Bookmarks” after profile migration

    • Fix bug 727264 java.lang.ClassCastException: java.lang.Integer at ProfileMigrator.java:196 if Background Data is turned off
    • Fix bug 721352 – Add support for batch operations in LocalDB
    • Fix more bugs related to LocalDB Content Provider.
    • Add tests for Profile Migration & SQLiteBridge
  • Blockers
    • None
Brian N
  • Done

    • Investigated/fixed issues with bug 722413 – Bookmark menu item not updated when deleting bookmark in AwesomeBar

    • bug 711578 – Session restore doesn’t work for initial Fennec session crash
    • bug 726018 – Don’t update top site screenshots when receiving 404, 500, etc results
    • bug 720509 – java.lang.NullPointerException at org.mozilla.gecko.GeckoApp.onPrepareOptionsMenu(GeckoApp.java:487)
  • Next
    • bug 725987 – Create Telemetry (opt-out) notification for Nightly and Aurora (mobile)

    • bug 725609 – Bookmarklets don’t work in Fennec Native
    • Unit tests
Sriram
  • Last Week

  • This Week
    • Landed some optimizations for startup – bug 725932

      • Lazy load about:home bug 726201

      • Use ActionBar in ICS bug 711746
      • Lazy load DoorHangerPopup bug 725930
      • Now Fennec starts up in around 1sec (less than chrome! yaayy!!) on my Nexus S running ICS
      • Investigating some more optimization options
    • Display tabs-tray faster bug 706819
    • Display Preferences faster bug 726732
    • Some trivial UI fixes bug 727300,bug 727302
  • Blockers
    • None
WesJ

Last Week:

  • Landed beginning parts of password provider bug 704682 and bug 718817

  • Fixed error with profile migrator bug 725858
  • Started work on Form history provider bug 725881
  • Started work on tests for passwords and form history providers

This week:

  • Constantly ping for the final review that password provider needs bug 718760

  • Finish form history provider
  • Finish tests for everything
LucasR

Last week

  • bug 719434 – ‘Tabs From Last Time’ not wiped on Clear History

  • bug 723103 – Properly update about:home when history is cleared
  • bug 718615 – ‘Clear history’ is broken
  • bug 723841 – Bookmarks database consistency constraints
  • bug 724348 – about:home – vertical space is wasted with only 1 or 2 thumbnails shown
  • Blog post: http://lucasr.org/?p=2643
  • Code reviews

This week

  • Database/ContentProvider unit tests

  • Perf improvements on history/bookmarks DB
  • P1/P2 bug fixing

Blockers

  • None
MBrubeck

Done:

  • bug 726863 – Use mobile-specific strings for add-on download error messages

  • bug 719684 – Show an error message when add-on download is blocked or cancelled
  • bug 723156 – Fix the back button for new windows opened by frames
  • bug 723077 – Speed up processing of option elements in FormAssistant
  • bug 724795 – Update the add-on list when a search engine is added or removed
  • Meeting with legal team about Apple’s touch event patent disclosure

Next:

  • More add-on manager work

  • Font inflation preview UI
  • Working with W3C Touch Events patent advisory group
Margaret

Done:

  • Worked on some follow-ups to bug 725171 – Show mobile/desktop bookmarks separately

  • Spent most of my time working on bug 722020 – Create proper bookmark folder UI
  • Started writing some robocop tests

Next:

  • Finish bug 722020 and its dependencies

  • Write tests!
  • Offline this afternoon for UC Berkeley Career Fair and PTO Friday
Scott (jwir3)

Last Week:

  • Assisting dbaron to troubleshoot Bug 706193: footer text on nytimes.com inflated abnormally

  • Minor security crash

This Week:

  • Bug 708187 : Titles bleed out of divs in marketwatch.com

  • P2 bugs re: font inflation
    • Bug 711418: Font inflation has no effect on www.cnn.com

    • Bug 705446: font inflates text extremely large in certain parts of the page
    • Bug 707195: news.ycombinator.com comments inflated to different sizes

Blocking:

  • None
BLassey
  • continued my war on tab screenshot performance

  • started a new war on JSON
  • refactored how we create GeckoEvents (java)
  • talked to legal about advocacy with EFF for the jail breaking exception in the DMCA
DougT
  • focusing on finding / fixing (or getting people to fix) crashes.

    • under 10 crashes per 100 adus

    • low volume means crashes per adus is a bit jumpy
MFinkle

Done:

  • Reviews

  • Media training (say it like Bill Murray says “Army training” in Stripes)
  • Investigate the “40 seconds to load awesomebar” issue. We found a few issues, including a simple fix.
  • MWC planning
  • MWC demos

Next:

  • Reviews

  • MWC stuff
  • Sleep
Josh (Arreth)
  • Last Week

    • Worked on & submitted patch for bug 723251

      • This bug fix will rely on the r+ patch for bug 711578

      • This patch will most likely need to be adjusted to include blassey’s fixes for bug 724210
  • This Week
    • Working to fix bug 727202 & 712543

      • Bug 712543 relies on fixes from bug 727202
  • Blockers
    • No completely blocking issues at the moment
Madhava
Ian Barlow
Patryk Adamczyk

Round Table

QA

  • 18 Maple Bugs reported

    • Crashers:

    • The known adreno 200 crasher one
    • bug 726838 – MAPLE: Maple branch crashes due to OOM with loading another web page and panning
    • bug 726872 – MAPLE : crash [@ LockImpl::Lock]
    • bug 727140 – MAPLE: crash [@ TouchBadMemory]
  • This week’s focus:
    • Test and Ship Fennec 11 XUL beta 3

    • Test focus on Nightly channel
    • Test focus on Maple channel
    • Help with testing MWC demos

SUMO (just a wiki update, michelle had to drop off for another meeting)

  • Last week: Worked on documentation updates and filed a couple of bugs for getting started, sync (migration), and menus

  • This week: Working on documentation updates for security, privacy, and add-ons
  • Next week: Working on documentation updates for troubleshooting, content features, and mobile landing pages

Meeting Notes from the Mozilla communityFirefox/Gecko Delivery Meeting Minutes: 2012-02-15

Firefox/Planning/2012-02-15

« previous week | index | next week »

Planning Meeting Details

  • Wednesdays – 11:00am PDT, 18:00 UTC

  • Mountain View Offices: Warp Core Conference Room
  • Toronto Offices: Fin du Monde Conference Room
  • irc.mozilla.org #planning for backchannel
  • (the developer meeting takes place on Tuesdays)

Video/Teleconference Details – NEW

  • 650-903-0800 or 650-215-1282 x92 Conf# 95312 (US/INTL)

  • 1-800-707-2533 (pin 369) Conf# 95312 (US)
  • Vidyo Room: Warp Core
  • Vidyo Guest URL
REMEMBER

These notes are read by people who weren’t able to attend the meeting. Please make sure to include links and context so they can be understood.

Contents

Actions from Last Week

  • ally to coordinate with greg jost on sync uptake metrics, and measuring the impact of the FF10 usability changes

    • See status update below!
  • laura to report on the state of persona/personas discussion
  • cheng to report back on connection reset issues with SSL
  • johnath to wrangle representation in this meeting for identity
    • Emailed and got confirmation that they will start sending representation

    • Added them to the template

Schedule & Progress on Upcoming Releases

Firefox Desktop
Release (3.6, 10)
  • 10.0.1 released (unthrottled) last Friday. Release notes here. We did not need a re-spin for 3.6.

  • We’ve pushed a prompted major update from 3.6.26 to 10.0.1 as of 2/14
    • Updated billboard with stronger copy and fixed some confusing links.

    • Cut 3.6.X ADUs by 30% since beginning of December, and hoping to cut the remaining ADUs by half in the next few months.
Beta (11)
  • Next merge date is 3/13

  • Beta 3 will be released Friday 2/17
Aurora (12)
Nightly (13)
  • Snappy

    • Killing Firefox start-up inefficiencies on Windows. Check out the details on Brian Bondy’s blog.

    • Most of the cycle collector fixes have landed. Telemetry shows a dramatic reduction in cycle collection times for Firefox 13. Olli and Andrew are investigating the remaining causes of long CC times.
    • Vladan landed a dom storage fix that should reduce the amount of main thread SQL done by content bug 714964.
    • Lots of frontend Telemetry probes are landing (see bug 671038) and already paying off as we caught a tab animation regression in bug 724349.
    • Bug bug 723561 – Create telemetry stopwatch helper to easily store/retrieve timestamp data
Firefox Mobile
  • Trunk

    • Waiting for OGL layers to land, ETA next week

    • Good stuff landing in the mean time
      • Start up improved to be faster than Chrome

      • Tab screenshot’ing for thumbnails *much* improved
      • Tab tray openning/closing improved
      • Awesomebar opening improved, especially for large profiles (40s -> 1.6s)
      • Crashes are being killed at an alarming rate (from 115 per 100 ADUs to 5 in 6 weeks)
  • Aurora
    • Trucking along with both Native and XUL builds
  • Beta
    • Going to ship XUL to the market for all devices until Native is ready for prime time
  • Release
    • Going to ship XUL 10 ESR until Native finishes its beta cycle

Other Notes:

  • current plan is for Native UI to go out to phones in Firefox 13

  • current plan is for Native Tablet UI to go out to tablets in Firefox 14
  • This plans are very much in flux, they are here for informational purposes only
Firefox Sync
  • Firefox 10 Initial Impact

    • Uptick in traffic to sumo, but no down trend in forums

      • Where can I find the code to add a device to Firefox Sync? 3x (from ui)

      • How do I sync Firefox between my desktop and mobile device? 1.5x (from ui)
      • Increases in ‘What’s Firefox Sync?’ & ‘How do I manage my Firefox Sync’
    • Metrics is looking into more quantitative numbers. No ETA yet
  • Organizational Changes/Announcements
    • Sync’s Dev Ops and Developers have been combined into one team

    • Sync’s UX/UI is now owned by Madhava, all other services UX is owned by Bryan Clark. Congrats to both of them
  • The next Sync Rapid Release meeting is coming up.
    • If there is something you would like the sync team to work on or a new idea to consider, pitch it there

    • 2pm pst, Feb 28th, vidyo room ‘services’ please email ally if you would like to be added to the zimbra invite.
  • BrowserID+Sync Authentication
    • Warning: The two sync systems will not be backwards compatible or interoperable
  • Native Sync
    • Please file bugs. Not sure how to file a good android sync bug? http://160.twinql.com/how-to-file-a-good-android-sync-bug

    • We have daily bug triage at 4pm, #androidsync
    • Old news that bears repeating:
      • Data may be lost, reordered, or corrupted. Please do not use your good profiles

      • Please remember behavior is undefined if multiple instance of Native Fennec (nightly, aurora, etc) are on a single device
      • You still cannot create an account from a mobile device
        • Though some of our contributors may change that!
  • Upcoming Releases
    • Addons being sync’ed in Firefox 11, XUL/tablet Fennec 11 (aka Beta): Addon Sync

    • Native Sync has been enabled in Nightly & Aurora (but not Beta)
Add-on Builder
  • 1.0 release has been rescheduled for next Wednesday

  • Work week for Builder team is next week
Add-on SDK

Release (1.4 -> Firefox 9, 10)

  • Looking good since last week’s hotfix

Stabilization (1.5 -> Firefox 10, 11)

  • Spun 1.5RC2 yesterday

  • Still on track to release next week, Feb 21, 2012

Development (1.6 -> Firefox 11, 12)

  • Current thinking is that bug 696533 might get us more mobile features faster – can’t tell timeframe so not adding to docs yet.

  • On track to merge to Stabilization on Feb 21, 2012

Bay Area Firefox Add-ons meetup Tuesday, February 21 6:00PM PST at the Mozilla SF Offices RSVP Here – join us!

Identity
  • Sign into the browser feature page

  • Gone through a couple of rounds of wireframes, progressing nicely (not on the feature page, will get them there soon)

Feedback Summary

Desktop
  • Firefox 10.0.1:

    • Looks like we fixed the cursor thing by fixing Java :)

    • Performance :(
    • AVG seems fixed, Norton is getting better
    • Youtube issues [1][2][3]
    • Problem with German update?: [4]
    • Report from this weekend:
Mobile
  • No new feedback updates this week, some anecdotal feedback from 10 provided to UX

  • Working on NativeUI documentation
  • Testing Aurora and Nightly and Sync set up
  • SUMO day tomorrow, to support 10.0.1

UX & User Research

Market Insights

Desktop / Platform
Google
  • The Chromium team expanded the Chromium Security Rewards Program, by increasing its scope to cover the Chromium OS.

  • The new Chrome Beta release enables GPU-accelerated rendering of 2D canvas content, and also enables WebGL acceleration for people with older GPUs using Swiftshader, a software rasterizer that Google licensed from TransGaming. This should make for significant performance improvements on systems like Windows XP.
  • Chrome’s dev channel features an updated V8 Javascript engine that offers initial support for lexical scoping, collections, weak maps, and proxies.
  • Google also released a Field Guide to Web Applications that offer a high-level, architectural overview of how to design web applications. Their HTML5Rocks site was updated, and features an excellent detailed overview of the architecture of the Chrome and Mozilla browsers.
  • Chrome 17 stable was released. 20 security bugs were fixed — 1 critical, 8 high, 5 medium, and 6 low. A significant number were detected with AddressSanitizer, a fast memory error detector.
  • Chrome’s Dev Channel release has a few interesting new features, including using Google’s servers to conduct spellchecking for entered and pasted text.
  • The Sencha team conducted an initial review of Google Chrome for Android, giving it high marks. It notes that SunSpider performance is little different than other browsers and suggests that it is now time to shelve that particular benchmark test.
Opera
  • The latest snapshot of Opera 12 offers support for Do Not Track and a substantial number of SSL performance optimizations.
Microsoft
  • Microsoft released a Critical update for MSIE 6, 7, 8, and 9. The vulnerability would allow remote code execution from a specially constructed web page. The update itself had to be updated shortly afterwards after it incorrectly reported that google.com was infected with the Blackhole Exploitation Kit.

  • MSIE 10 will allow full support for Cross-Origin Resource Sharing for XMLHttpRequests.
  • In a 9,000 word blog post, Microsoft’s Windows president Steven Sinofsky divulged a slew of details on Windows on ARM. Microsoft plans to have ARM PCs available when other Windows 8 computers are available, and the company will also include desktop versions of optimized Office 15 applications. Windows 8 ARM PCs will also never turn off, instead going into a standby mode that should last for weeks.
WebOS
  • HP released the source code to Isis, the WebOS browser, which apparently offers “unrivaled speed and standards compliance”.
W3C
  • Webmonkey has a good summary article describing the issues and positions in the debate as to whether other browsers should support -webkit-prefixed CSS properties. (Also, Tantek’s interview at A List Apart.
Mobile

Summary below, full update here and in your inbox.

  • The acquisition of Motorola Mobility by Google was approved in the US and the EU
  • Google plans to test a “next generation personal communication device”
  • The Android Market was enhanced with automatic malware scanning for apps
  • Android captured 51% of smartphone sales in 2011, iOS 24% and Symbian 12%
  • Smartphones represent only 12% of total global handsets in use today, but over 82% of total global handset traffic
  • First Intel Medfield-based Motorola handset rumoured to be announced at MWC
  • Skyfire raised almost $8 million in a round of funding which was in part sponsored by Verizon
  • More details on Windows Phone 8 revealed
  • Opera partnered with India’s third largest carrier
  • Dolphin browser 3.5 was released on iOS

Marketing, Press & Public Reaction

Desktop
  • New 3.6 Upgrade Billboards went live yesterday (thanks Pascal and L10n!)

    • As discussed above, strengthened copy and upgrade experience, Cut ADUs by 30% since December.
  • Working on website collateral for next releases
  • Display ads continuing for another few weeks
  • Starting the blog process for next Aurora and Beta
Mobile
  • MWC demo scripts revisions

  • Finding agency for FF11 launch programs
Press

Questions, Comments, FYI

Actions this week

  • cheng to dig into connection reset issues with SSL

  • irina to let us know whether dolphin for iOS uses Sync

Software CarpentryWatch Me: Volunteers Wanted

Back in 2007, Jon Udell observed that screencasts facilitate accidental knowledge transfer in a way that more traditional media don’t. As I said yesterday, we’d therefore like to start recording short screencasts of programmers thinking aloud as they solve small problems using their preferred tools. The aim is to show learners how to program—what order to write things in, how to debug, when and how much to test, and so on. Everything will be covered by the same Creative Commons license as our other material, and made freely available for remixing and other use.

If you’d like to help, please:

  1. Volunteer to be recorded by mailing us. We’ll help you install a screen recorder (if you don’t have one already—you might be surprised to find that you do), give you a small problem, and edit the video you produce so that you don’t have to.
  2. Volunteer to edit video for us, so that we can put our energy into organizing people :-) .
  3. Volunteer to work the floor at PyCon in March. We can’t attend (workshops to run, etc.), but it would be great if we could get a dozen or more “here’s how I do it” recordings done during the conference.

Remember, as an open source project, Software Carpentry depends on your help to survive and thrive. If you have wanted to help, but have worried that creating and recording lectures would be too much work, this is a way for you to help that will take half an hour or less. We look forward to hearing from you.

Software CarpentryAnalyzing Next-Generation Sequencing Data

Analyzing Next-Generation Sequencing Data

http://bioinformatics.msu.edu/ngs-summer-course-2012

June 4th – June 15th, 2012
Kellogg Biological Station, MSU
Course sponsor: NIH.

Instructors: Dr. C. Titus Brown, Dr. Ian Dworkin, and Dr. Istvan Albert.

Board of advisors: Dr. Kevin White; Dr. Paul Sternberg; Dr. Rich Lenski; Dr. Robin Buell; Dr. Jim Tiedje; Dr. Lincoln Stein

Applications are being accepted through March 1st (midnight Pacific)!

Course Description

This intensive two week summer course will introduce attendees with a strong biology background to the practice of analyzing short-read sequencing data from Roche 454, Illumina GA2, ABI SOLiD, Pacific Biosciences, and other next-gen platforms. The first week will introduce students to computational thinking and large-scale data analysis on UNIX platforms. The second week will focus on mapping, assembly, and analysis of short-read data for resequencing, ChIP-seq, and RNAseq.

No prior programming experience is required, although familiarity with some programming concepts is helpful, and bravery in the face of the unknown is necessary. 2 years or more of graduate school in a biological science is strongly suggested. Faculty, postdocs, and research staff are more than welcome!

Students will gain practical experience in:

  • Python and bash shell scripting
  • cloud computing/Amazon EC2
  • basic software installation on UNIX
  • installing and running maq, bowtie, and velvet
  • querying mappings and evaluating assemblies

Materials from last year’s course are available at http://ged.msu.edu/angus/tutorials-2011 under a Creative Commons/use+reuse license.

You can read a blog post about last year’s course at http://ivory.idyll.org/blog/jun-11/ngs-2011.

Software CarpentryAnd Speaking of New…

…check out Bret Victor’s talk at CUSEC 2012—jump in around the 7:00 mark and watch for a couple of minutes. You’ll want to go back and watch the whole thing…

Software CarpentrySlide Drive

Speaking of new kinds of content (which I’ve been doing a lot), David Seifreid has built a working prototype of a new slideshow tool that combines deck.js with an HTML5 audio player.  You can check out a demo at http://software-carpentry.org/slide-drive/index.html, or grab the source from https://github.com/dseif/slide-drive. Slides are pure HTML like this:

<section popcorn-slideshow="24">
  <h2>Solution</h2>
  <p>Short intensive workshops</p>
  <div>
    Our solution combines short, intensive workshops...
  </div>
  <div popcorn-slideshow="27">
    <p>Plus self-paced online instruction</p>
    <div>
      ...with self-paced online instruction.
    </div>
  </div>
</section>

which combines slide pages and transcripts in a single file suitable for diffing and merging. (Images are still in external files, but I can live with that.) You can pause the slideshow at any point to select and copy the content (something you definitely can’t do with a video), and we’ll add support for translations into other languages and so on.

Many thanks to David for pulling this together; please let us know what you think.

Bonjour MozillaDavid McNamara (Mackers)

mackers

David McNamara (alias mackers) est un artiste, mais aussi un hacker, travaillant avec Brian King au sein de Briks Software, et contribuant à des projets Mozilla depuis… 2000 ! David est une sorte de vagabond des temps moderne, un “voyageur digital” qui n’a de cesse de découvrir le monde, multipliant les rencontres, et diffusant au passage la bonne parole du Logiciel Libre. Il est certes originaire de Dublin, en Irlande, mais vous aurez souvent plus de chances de rencontrer ce globe-trotter dans un autre pays, son MacBook sous le bras. C’est ainsi qu’il parvient, d’où qu’il soit, à créer des add-ons pour Briks, et même à poursuivre ses études ! Sans oublier, mais cela ne vous étonnera pas, sa passion pour la Geo-Web. En regardant plusieurs photos de lui, Bonjour Mozilla s’est aussi aperçu que David était un sacré boute-en-train, qui ne se prend pas au sérieux… Avec un collègue comme Brian King, on imagine les séances de brainstorming… Elles doivent être animées !

Bonjour David ! 

PS : et merci Brian King pour son aide !


David McNamara (aka mackers) is an artist, but also a hacker, working with Brian King at Briks Software, and contributing to Mozilla projects since… 2000! David is kind of a modern tramp, a “digital traveler” who is constantly discovering the world, multiplying meetings, and disseminating the good word of Free Software on his way. Although he is originally from Dublin, Ireland, you’re more likely to meet this globe-trotting in an other country, his MacBook under the arm. Thus he succeeds, wherever he is, to create add-ons for Briks, and even to continue his studies! Not to mention, you won’t be surprised, his passion for the Geo-Web. By looking at several pictures of him, Bonjour Mozilla has also noticed that David was a live wire which does not take itself seriously… With a colleague such as Brian King, we can only imagine the brainstorming sessions… They must be well alive!

Bonjour David!

PS: and thanks for the help, Brian King!

Meeting Notes from the Mozilla communityThunderbird Meeting Minutes: 2012-02-14

Thunderbird/StatusMeetings/2012-02-14

last meeting | index | next meeting »

Thunderbird Meeting Details :

Remember to press *1 to unmute yourself before talking!

Feel free to ask questions in the meeting either by speaking up or by asking them in #maildev on IRC.

Other ways to get in touch with us can be found on our communications page

Agenda

  • Who’s taking minutes? –> roland

  • Minute taking Schedule. Talk to Standard8 for schedule changes/additions.
  • Note: this meeting is for interactive discussion. Feel free to ask questions!
Action Items
Friends of the Tree

Thanks to our Friend of the Tree. When adding someone to this section, please get their T-Shirt size, phone number (needed for shipping!) and send it to rebron@mozilla.com so that he can send them a shirt!

  • Aceman for his high quality and high quantity work (29 patches since January 1!), nominated by Standard 8. Thank-you!
Thunderbird Development

For more details, see also the driver meeting notes.

Feature Work
Test Pilot
  • looking to get a test pilot study running in a couple of weeks
Big Files
Schedule and Progress
Thunderbird 10
  • Released a 10.0.1 to fix a security issue and a couple of crashes (most notably an Outlook import crash)
Thunderbird 11
  • Will be spinning an updated beta this week.
Thunderbird 12 Thunderbird 13 Thunderbird 3.1.x & ESR
  • Released 10.0.1 ESR to match the mainline 10.0.1 release.
Extension of the week

Junquilla let’s you extend the Junk filtering of Thunderbird and create more than one Junk folder. It will also present stats including scores and why certain email was flagged as junk. A great aid in understanding Thunderbird’s junk system.

QA Updates
  • Nothing to highlight
Marketing Updates
Infrastructure Update
Build / Release Update
  • 10.0.1, 10.0.1esr released

  • releasing 9.0.1->10.0.1 updates today
  • 11.0 beta 2 build today
Web Update
  • few fixes to account provisioner, l10n merging, etc last week

  • compatibility bump for TB11 is ready, should go live Thursday
Documentation
  • nothing to report (work week)
Support

(If you support Thunderbird or write or translate documentation to help support Thunderbird, please subscribe to the tb-support-crew mailing list and briefly introduce yourself to the list

  1. Thanks to Vincent aka cameléon, San, Matt Harris, Wayne Mery and others for updating the Etherpad and providing support input to the Thunderbird 10 support day on Thursday February 2 2012 – Next Support Day is the day after TB 11 is released i.e. currently March 14, 2012 since TB11 is currently scheduled for March 13, 2012

  2. 807 new support topics (610 one week ago with the stats bug with 2 days missing) – Media:6-12February-Thunderbird-GS-stats-2012-02-13 1307.pngNOTE: last week’s numbers are too low because GS’s stats (again like the stats bug of two and four weeks ago!) failed to work for Tuesday of last week
  3. Thunderbird 10 Support Issues – Please edit and add any issues or bugs found in TB10 and tag them tb10 – Hot issue for a few weeks has been Bug 723105 – Outlook Import crashes which was fixed along with some security issues in TB 10.0.1 which was released Sunday February 12, 2012
  4. See this week’s Support Appendix for full Get Satisfaction metrics and other support details
Lightning Updates
Status Updates

See the Mozilla Status Board for status updates specific to developers.

Roundtable Highlights
  • Going to try out using Vidyo for the meetings from next week

    • Voice dial-in will still be available.

    • Video option will be public
    • Please use headsets and mute yourselves when you join
    • Links etc will be posted ahead of next week’s meeting.
Attendees

Meeting Notes from the Mozilla communityMozilla Platform Meeting Minutes: 2012-02-14

Platform/2012-02-14

« previous week | index | next week »

Platform Meeting Details

  • Tuesdays – 11:00 am Pacific

  • Dial-in: conference# 95312
    • US/International: +1 650 903 0800 x92 Conf# 95312

    • US toll free: +1 800 707 2533 (pin 369) Conf# 95312
    • Canada: +1 416 848 3114 x92 Conf# 95312
  • Warp Core Vidyo Room
  • join irc.mozilla.org #planning for back channel

Contents

Roadmap Discussion

Notices / Schedule

  • We are here on the schedule (.ics link). This is the time for speculative low-risk fixes on Beta and other less critical fixes prior to convergence in Beta 5 and Beta 6 (where we restrict what we land).

    • We shipped Firefox 10.0.1 unthrottled last Friday (2/10). We’re tracking a few issues post-release

    • Our third beta for FF11 will go-to-build today, ship on Friday (2/17)
  • Please take a look at bugs currently tracked for FF11′s release

    • If the bug no longer needs to be tracked, please fix the flags and comment to that end

    • Please make sure to progress other investigations and email Alex if you’re blocked
  • Lukas Blakk (of RelEng fame) will be helping with Release Management triaging, tools work, and the ESR branch in the near future!

Firefox Development

  • Tim Taubert improved page thumbnail collection by implementing mozFetchAsStream() on canvas elements, to avoid an inefficient call toDataURL. Telemetry data shows that thumbnail capture times are pretty efficient, but there are non-trivial amount of cases where storing them in the cache is slow. Work on cache performance that the network team is doing might help with that.

  • Frank Yan is working on a new revision of about:home (bug 711157), see screenshots there for the new look
  • Felipe Gomes has added a TelemetryStopwatch module to make it easy to add front-end telemetry probes (bug 723561) – check out his blog post

Firefox Developer Tools

  • Blog post about debugger landing here.

Performance

  • Snappy weekly summary on Taras’ blog

  • Lots of frontend Telemetry probes are landing. See bug 671038.
    • Some of this has already paid off in terms of us catching a tab animation regression in bug 724349.
  • Plan to investigate switching our awesomebar searching from SQL to an FTS. If you are a text-search/tokenizer expert, perhaps you help us with bug 725821.
  • Killing Firefox start-up inefficiencies on Windows. Check out the details on Brian Bondy’s blog. Brian’s blog post contains tips on xperf, Firefox profiler, about:startup – read it.
  • Olli has landed most of the cycle collector fixes. Telemetry shows a dramatic reduction in cycle collection times for Firefox 13. He and Andrew are investigating the remaining causes of long CC times.
  • Vladan landed a dom storage fix that should reduce the amount of main thread SQL done by content bug 714964
  • Snappy is a key Q1/Q2 goal. Please review Snappy bugs for your team and help kill these bugs.

GFX

  • Building out OMTC / OpenGL Layers for native android.

    • working being done on Maple

    • ideally merging end of week

JS

Layout

  • Lots of preparation (testing/analysis) for unprefixing/emulating specific webkit CSS properties

  • Fixing remaining Font Inflation P1 bugs.
  • CSS flexbox support for absolute/relative -positioning children
  • Graphite font support testing has started bug 631479
  • Harf-Buzz text engine update landed bug 695857
  • Fixing many “unnecessary invalidation” bugs to optimize B2G UI

Video

  • Youtube has started sending WebM HTML5 video to some (all?) users who don’t have Flash. This increase in usage has turned up a few bugs and may impact crash-stats etc

DOM

WebAPI

Network

  • SPDY testing (on by default) on trunk is going well. We are not planning to turn it off (may ship with it on in Firefox 13) unless something serious comes up.

  • We’ve started on our DASH (adaptive streaming) implementation for the video tag. Steve Workman and Jason Duell are leading this effort.
  • Cache work is focused on reducing main thread locking right now. Nick Hurley and Michal Novotny are leading this effort.

Identity

remember to send comments/thoughts/suggestions regarding https://wiki.mozilla.org/Identity/BrowserID

Plugins

  • Patch for bug 501485 landed on inbound today: Destroy plugin processes after three minutes of not being used. Timer starts when the last instance is destroyed, is canceled if a new instance is created before it fires. Keep an eye out for any issues.

Mobile

  • Holding the release for OpenGL Layers on Android

    • part of the mobile team supporting GFX on that project

    • the rest concentrating on stability, bug fixes and profiling for perfomance

Accessibility

Tree Management

  • Looking at updating Windows and Linux build servers for WebRTC & Camera API. bug 718031 and bug 697754; WebRTC alsa support requires libasound 1.0.14

  • bug 711176 intermittent issues with stage
  • bug 720006 wait times hit, waiting for dongles

Security

  • The Security team has reorganized!

Security Reviews Scheduled for this week

Date / Time Item
Mon Feb 13 / 13:00 PST Marionette
Wed Feb 15 / 13:00 PST AVAILABLE
THU Feb 16 / 10:00 PST AVAILABLE
Fri Feb 17 / 10:00 AM PST AVAILABLE

Calendar and Meeting details

General Meeting Details
* IRC Channel: #security
* Etherpad: http://etherpad.mozilla.com:9000/secreview
* Vidyo: https://v.mozilla.com/flex.html?roomdirect.html&key=5XEMsG1ApA4b (Room 9058)
* Dial-in Info (phone):
** In office or soft phone: extension 92
** US/INTL: 650-903-0800 or 650-215-1282 then extension 92
** Toronto: 416-848-3114 then extension 92
** Toll-free: 800-707-2533 then password 369
** Conference num 99058

For updates to meetings please see the Security Review Calendar

Security Review Needed but Unscheduled

Stability Report

  • Working on weekly crash newsletter.

  • Meeting with Adobe tomorrow to talk about Flash bugs/crashes.
Socorro
  • Release out this week

    • Per OS report

    • bug 719943 – Java signature appearing in stack.
Desktop
Firefox 10.0.1
  • Cycle collector bug fixed.

  • bug 718389 – Startup crash @ PR_EnumerateAddrInfo | nsDNSRecord::GetNextAddr. A couple of options to look at.
    • Orange Toolbar
  • bug 726675
    • Extension correlated(?) will look manually

    • bug 726682
Beta
Aurora
Trunk
  • Top Issues currently assigned to nobody

    • bug 723190 nsGfxScrollFrameInner::ScrollToImpl

    • bug 723523 Crash in nsPluginInstanceOwner::CreateWidget @ nsCOMPtr_base::assign_assuming_AddRef | nsObjectFrame::PrepForDrawing
    • bug 724355 Crash nsObjectFrame::SetInstanceOwner
    • bug 704124 Firefox Crash @ gfxContext::SetSource
    • bug 723133 Firefox 13.0a1 Crash Report [@ PluginWndProcInternal ] with Adblock Plus
Mobile

Roundtable

Planet Mozilla BlogPlanet Additions: Class Of 2/14/2012

As mentioned previously, we’ve created a new Planet Mozilla Projects which will be home to all project blogs. A RSS feed can be found here.

We’ll likely start removing the duplication in the next week or two.

People

Geoff Lankow (feed) – Geoff Lankow is a website developer who started making add-ons to help develop websites. Then he started hacking Mozilla to help making add-ons. These days he spends more time hacking Mozilla than developing websites. He’ll be blogging about changes he’s made that might be useful other developers.

Jason Smith (feed) – Jason join QA in January, and will be working from Mountain View, CA. He is currently providing testing support for Open Web Apps on Desktop and Desktop Firefox.

Panos Astithas (feed) – “I joined Mozilla in April 2011 to work on Firefox Developer Tools. My focus has been mostly on JavaScript-related tools and my most recent project is the Script Debugger, about which I plan to blog more often.”

Mihai Sucan (feed) – “I work for Mozilla as a contractor since the summer of 2010, within the developer tools team. I worked on the Style Inspector, Web Console, Scratchpad and the Source Editor component, and the plan is to continue to do so.”

Projects

Mozilla Antarctica (feed) – The Mozilla Antarctica Community: going where no other community has ever gone before (and it’s bloody freezing!)

Socorro Status BlogPushing 2.4.2 database changes tonight

Socorro version 2.4.2 database changes are being pushed tonight, Feb 14, 6pm PST to 9pm PST.  This may cause some sluggishness, but will not require a downtime.

Code changes will be pushed on Feb. 15th.

Mozilla Add-ons BlogJetpack Project: weekly update for February 14th, 2012

Project News

  • Next week’s Bay Area Firefox Add-ons meet-up will be at Mozilla’s San Francisco offices on Tuesday, February 21 at 6PM. This month’s meetup features the SDK and Builder, including a talk by yours truly, a raffle for an Android Tablet and much, much more! If you’re in the area on Tuesday Feb 21 at 6pm PST and want to attend, RSVP here.
  • The entire Jetpack team will be meeting up for a work week in Mozilla’s Mountain View office next week to work together and plot out the future!

Quick Stats

Note: the stats above are based on the queries I linked to for each item. If you have suggestions on how these queries might be made more accurate,please comment below. Stats generated at 2012-02-14 15:10:53 PST

Meeting Brief

  • Builder: working on blocker bug prior to releasing 1.0, testing a patch now.
  • SDK: releasing 1.5 next week, still working on several important bugs, also 1.5 will require a re-pack.
  • Dietrich provided an update on project to deliver new Firefox features as add-ons.

Full minutes are available here:
https://wiki.mozilla.org/Jetpack/Weekly_Meeting/2012-2-14#Minutes

about:mozillaLove Bombs, ACTA, Google SoC and more…

Drop a Love Bomb
Happy Valentine’s Day! To celebrate, why not send a “love bomb” to someone you love? Matt Thompson explains all.

ACTA
Mitchell Baker speaks out against how the Anti-Counterfeiting Trade Agreement (or ACTA, for short) was negotiated. With anti-ACTA protests sweeping across much of Europe, Mitchell describes how negotiating in secret is a bad way to develop Internet policy. Help protect the Internet and make your voice heard today.

Google Summer of Code 2012
With Google announcing that they’ll be running the Summer of Code again this year, Gervase Markham calls for ideas for eight-week-long projects which a student could take part in. Mozilla has participated in every SoC so far and Gerv doesn’t intend this year’s to be the first we don’t.

Webmaker Goals
“Building a generation of web makers” is one of Mozilla’s main goals for 2012. Mark Surman outlines plans to achieve that goal and more. Are you excited by our web maker vision and can you write, code, test or promote? You should get involved and help out.

ID Provider + BrowserID
Dan Mills showcases a great new addition to BrowserID. Support for ID providers allows the registration flow to go from eight screens to just one. This is one more step to BrowserID becoming a truly distributed system.

December Dev Derby Winners
December’s Dev Derby was focused around IndexDB, a technology allowing web applications to store data for fast online and offline use. The submissions demonstrated just how powerful IndexDB can be. Be sure to try out the winning demos.

Meet Some Mozillians
Bonjour Mozilla says bonjour to Rosana Ardila, Nikola Matosovic and Mime Cuvalo. Read more about how these people are contributing to Mozilla.

Upcoming events
* February 17, Online, Web Apps Test Day
* February 21, San Francisco, USA, Firefox Add-ons Made Easy
* See more on the Mozilla Community Calendar

Get Involved
These are just some of the available contribution opportunities. Learn more about other ways to get involved and find other Mozillians in our community who share your interests.

About about:mozilla
The newsletter is written by Mozilla’s contributor engagement team and is published every Tuesday.

If you have anything you would like to include in our next issue,
please contact: about-mozilla[at]mozilla[dot]com or send us a status message on mozilla.status.net or a tweet @aboutmozilla.

You can also subscribe to the email version.

Have a good week folks and keep rocking the Web!

Rumbling Edge - Thunderbird2012-02-14 Calendar builds

Calendar release history

Common (excluding Website bugs): (53)

  • Fixed: 262729 – Allow to view all events in current display in unifinder
  • Fixed: 308175 – Visual indicator in day and week view to show current time (slot)
  • Fixed: 351870 – unable to unselect single event from a group of selected events in main view
  • Fixed: 381438 – Event duplicated when cutting & pasting multiple events [clipboard]
  • Fixed: 396417 – [Mac] Datepicker freezes after changing month/year
  • Fixed: 417688 – Add context menu to copy URL for attached links in events/tasks
  • Fixed: 420831 – On sending updated iTIP message, the subject does not indicate ‘updated’
  • Fixed: 428022 – Category color indicators should be printed
  • Fixed: 461944 – Selected event in unifinder is not highlighted in calendar view
  • Fixed: 481080 – Task filters “Today” and “Next Seven Days” should show all active tasks for the period
  • Fixed: 510513 – When mail display is set to black background/white text, calender items appear white on white
  • Fixed: 516174 – calendar-day-label-back-vertical.png doesn’t exist
  • Fixed: 533096 – Consolidate theming to make more css common
  • Fixed: 577023 – The until date of a repeating event changes from UTC time to floating after Thunderbird is closed and restarted.
  • Fixed: 632355 – calendar-summary-dialog : attendees names overlap
  • Fixed: 651805 – [Month view] Distinguish “All day events” from other events
  • Fixed: 657755 – [PATCH] Missing close button for Event dialog under Gnome3
  • Fixed: 657763 – [PATCH] There is an uneeded (F) next to Event in the Event window
  • Fixed: 694803 – Save event with Ctrl-S after changing calendar produces misleading dialogues
  • Fixed: 700637 – this.mItemInfoCache[aNewItem.id] is null using caldav cached calendar
  • Fixed: 707315 – Add bottom border to the views
  • Fixed: 709572 – Add Calendar and Task toolbar for tabs on top
  • Fixed: 709718 – Vertical lines between off-time hours have the wrong color
  • Fixed: 710351 – Full sync providers like ICS very slow when refreshing
  • Fixed: 711029 – move the keep-duration-button’s images inside the calendar-event-dialog.png file
  • Fixed: 711994 – Add support for nested mailing lists in the invitations dialog
  • Fixed: 714431 – New Event… and New Task… are always disabled
  • Fixed: 714448 – Today pane closes when attempting to scroll message preview
  • Fixed: 715890 – useless refresh of the ACL entry during initialization
  • Fixed: 716316 – Lightning 1.1.1 builds on the ftp server differ from files hosted via AMO
  • Fixed: 716522 – Mac Trunk builds failing, builder is out of space
  • Fixed: 716933 – Can’t invite/add people to an event
  • Fixed: 717081 – Get rid of extra onLoad during cached calendar sync
  • Fixed: 718182 – Use on Aero inverted icons
  • Fixed: 718278 – Remove chromedir attributes, use -moz-locale-dir instead
  • Fixed: 718300 – Build error in calDateTime.cpp: fatal error: jsdate.h: No such file or directory
  • Fixed: 718387 – Accepting an invite fails (NS_ERROR_OBJECT_IS_IMMUTABLE)
  • Fixed: 718488 – calDateTime doesn’t need to implement nsIXPCScriptable
  • Fixed: 719006 – Investigate the future of the tabmail-buttons (calendar-tab-button and task-tab-button)
  • Fixed: 719016 – responding to invitations as an attendee fails to set the “SENT-BY” attribute
  • Fixed: 719050 – Lightning aero #button-delete style makes the SeaMonkey Mail delete button image disappear.
  • Fixed: 719193 – Open/Delete Commands are always disabled
  • Fixed: 719197 – Rename “Reload Remote Calendar” to “Synchronize Calendars”
  • Fixed: 720120 – Apply button ID only on calendar-event-dialog and remove unneeded CSS rules
  • Fixed: 720253 – Zimbra uses different conflict code 409 instead of 412
  • Fixed: 721330 – Make Customizing Lightning Toolbars work in SeaMonkey.
  • Fixed: 722010 – Make the calendar-tab-button and the task-tab-button a toolbarbutton-1
  • Fixed: 722635 – MODIFICATION_FAILED when writing to the Oracle stbeehive caldav server ["SENT-BY" must be enclosed in DQuotes]
  • Fixed: 723884 – Typo in the name of an entity
  • Fixed: 724257 – Upload lightning in |make upload| if MOZ_CALENDAR is specified, for tryserver
  • Fixed: 724485 – don’t typedef long intptr_t if _MSC_VER >= 1400
  • Fixed: 724657 – Clobberer not working, at least for x86_64 comm-central
  • Fixed: 725224 – printf SEGV when passing NULL string on Solaris 10 in icalparser.c

One can get the latest Lightning .xpis here.

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

Rumbling Edge - Thunderbird2012-02-14 Thunderbird comm-central builds

Thunderbird release history

Thunderbird-specific: (72)

  • Fixed: 416263 – Account Settings dialog box too big for some screens (like asus EeePC) – can’t be resized or scrolled
  • Fixed: 460930 – blank (and useless) download manager window appears when I save attachment file(s) in thunderbird
  • Fixed: 472959 – GUI leaves invalid junk settings when “spamActionTargetFolder” is moved FROM a deleted account
  • Fixed: 483754 – Starting up Thunderbird with network offline doesn’t work properly
  • Fixed: 502616 – Fix css for tab images (loading/busy/opacity)
  • Fixed: 516970 – Attachment toolbar borders need a bit more styling on Windows
  • Fixed: 518597 – [Faceted Search] GLODA search results should contain matched message fragment
  • Fixed: 526998 – Implement F2 keyboard shortcut for renaming focused attachments when composing (on Windows and Unix)
  • Fixed: 529933 – [Mac] “File” toolbar button shows old folder after bug 491294
  • Fixed: 548041 – Add/port about:support to Thunderbird and add obfuscated SMTP, IMAP & POP settings
  • Fixed: 593321 – Opening saved .EML with empty subject has wrong window title
  • Fixed: 633679 – Quick filter button/menuitem shouldn’t be invisible when disabled
  • Fixed: 636014 – [autoconfig] Align labels and textfields on the existing account wizard
  • Fixed: 661906 – Random Orange TEST-UNEXPECTED-FAIL | (runtestlist.py) | Exited with code 1 during test_order_of_address_books
  • Fixed: 669615 – Feature request: Downloads window
  • Fixed: 669925 – Wrong “From” shown in message list when email address contains Unicode
  • Fixed: 670502 – Opening account manager (account settings) from compose window fails
  • Fixed: 686436 – ctrl+tab, ctrl+shift+tab for switching tabs missing from TB keyboard shortcuts documentation
  • Fixed: 690282 – Caret vanishes when dropping attachment into mail edit window
  • Fixed: 705431 – make sure a MIME part with content-disposition: attachment is displayed as an attachment nonetheless even though it doesn’t have a filename
  • Fixed: 705660 – OpenSearch tab looks weird with some Personas
  • Fixed: 706798 – ‘Tune’ the time to wait before displaying the update been downloaded / restart notification
  • Fixed: 707329 – Folder panel has no content. JSON.parse: unexpected end of data Source File: chrome://messenger/content/folderPane.js
  • Fixed: 707443 – missing accesskey for “Recently Closed tabs” menu item
  • Fixed: 708702 – Use defaultPrevented instead of the deprecated getPreventDefault() in front-end code
  • Fixed: 710831 – Tab selector does not blend well with Gloda search pane or mail header
  • Fixed: 712938 – Polish tabs-on-top theme on Mac OS X
  • Fixed: 713008 – Tabs shouldn’t flicker when hovered
  • Fixed: 713380 – Outlook invitation no longer presented as attachment (text/calender in multipart/alternative is not presented as attachment by Lightning after Tb 8)
  • Fixed: 713407 – Account provisioner does not find any possible email addresses unless the search text contains a space
  • Fixed: 713767 – Permanent orange | TEST-UNEXPECTED-FAIL | test_imapHighWater.js on win32 | 6 == 11
  • Fixed: 713768 – Permanent orange | TEST-UNEXPECTED-FAIL | test_nsIMsgFolderListenerLocal.js | exception thrown from do_timeout callback nsIMsgFolder.deleteMessages (32 bit Linux & Mac)
  • Fixed: 713919 – Toolbar buttons dragged onto the stand-alone window menubar should have text-beside-icon
  • Fixed: 713974 – function does not always return a value JS warnings in chrome://messenger/content/accountcreation/
  • Fixed: 714041 – TB: Documentation for [Esc] Keyboard Shortcut is wrong/incomplete/insufficient, needs better wording and/or more entries
  • Fixed: 714065 – TB: Add table of contents / jump list to Keyboard Shortcuts documentation (expose sorting/grouping/subsections)
  • Fixed: 714391 – Text on disabled toolbar buttons in the menubar doesn’t look disabled
  • Fixed: 715488 – Mostly-Permanent orange: TEST-UNEXPECTED-FAIL | test-attachment.js | test-attachment.js::test_attachments_compose_menu
  • Fixed: 715495 – Inconsistency in styling of buttons in tabs-toolbar
  • Fixed: 715565 – two throbbers in main window
  • Fixed: 715807 – crash CMbxScanner::CleanUp
  • Fixed: 715961 – Attachment events in compose window need to be tested
  • Fixed: 716101 – TB: Keyboard Shortcuts broken(?)/wrong/incomplete in documentation: Ctrl+Q
  • Fixed: 716222 – TB: Keyboard Shortcuts broken(?)/wrong/incomplete in documentation: Alt+Cursor down (“Alt+down arrow”)
  • Fixed: 716254 – TB: A lot(!) of keyboard shortcuts are missing in documentation
  • Fixed: 716270 – TB: Add better link for direct downloading of keyconfig Addon to Keyboard Shortcuts documentation
  • Fixed: 716796 – Thunderbird 9.0.1 triggers discrete graphics on Lion
  • Fixed: 717402 – Permanent orange: TEST-UNEXPECTED-FAIL | test-about-support.js | test-about-support.js::*
  • Fixed: 718288 – renameAttachment.label/accesskey in messengercompose.dtd are defined twice
  • Fixed: 718486 – Make Account Provisioner XML handler only request the XML once.
  • Fixed: 718640 – Account Provisioner link to view providers in other languages is always displayed
  • Fixed: 718792 – Disable account provisioning for Thunderbird 10
  • Fixed: 718812 – TEST-UNEXPECTED-FAIL | test-install-xpi.js | timed out waiting for modal dialog
  • Fixed: 718860 – Use the “dummy” smart reply button in the message header customization dialog
  • Fixed: 718962 – TB: Wrong markup used in Keyboard Shortcuts Documentation: Should use {key Ctrl+keyx} instead of {button Ctrl} + {button keyx}, and conflate OS selectors: {for win,linux}
  • Fixed: 720341 – Fix error downloading Test Pilot tests and fix the endless “Loading, please wait…” message
  • Fixed: 720379 – TB: Keyboard Shortcuts documentation: Major Revision #5614 (based on revision #5594): content and markup cleanup
  • Fixed: 721071 – Permanent orange: TEST-UNEXPECTED-FAIL | test-eml-subject.js | test-eml-subject.js::test_eml_normal_subject
  • Fixed: 721317 – Port work to use Quirks mode on mac when hardware acceleration is enabled
  • Fixed: 721365 – Make AddMsgUrlToNavigateHistory scriptable
  • Fixed: 721378 – Permanent orange: TEST-UNEXPECTED-FAIL | test-toolbar.js | test-toolbar.js::test_new_toolbar_with_default_tb3
  • Fixed: 721661 – Use a different wordmark and possibly other branding changes for Thunderbird 10 ESR
  • Fixed: 721666 – TB: Keyboard Shortcuts documentation: Major Revision #5658: add lots of missing shortcuts (esp. for composition), regroup message functions, add subsection table headings, add article navigation and TOC
  • Fixed: 722798 – test_offlinePlayback.js failing on windows tinderbox
  • Fixed: 723049 – [DE] TB Keyboard Shortcuts documentation: Port Major Revision 5658 to German -> revision 5754 (de)
  • Fixed: 723317 – Update MinSupportedVer string for bug 668574
  • Fixed: 723583 – test pilot thunderbird ‘all your user studies’ shows each more than once
  • Fixed: 723863 – Standalone Message window toolbar doesn’t show personas
  • Fixed: 723910 – Account Provisioner fails to close order form tab and report success
  • Fixed: 725685 – Permanent orange: TEST-UNEXPECTED-FAIL | test-attachment-menus.js and folder-display, message-window, tabmail | various
  • Fixed: 725898 – Permanent orange: TEST-UNEXPECTED-FAIL | test-plugin-crashing.js | test_crashed_plugin_notification_bar and test_crashed_plugin_notification_inline
  • Fixed: 726301 – SummaryFrameManager logic is wrong

MailNews Core: (50)

  • Fixed: 57115 – mime.properties file should contain correct HTML
  • Fixed: 61831 – bloat / duplicated code: ConvertBufToPlainText() in nsMsgCompUtils.cpp and nsMessenger.cpp
  • Fixed: 186731 – various cleanup in nsPop3Service.cpp (“pop service NewURI should rely on + concatenation” no longer valid)
  • Fixed: 228949 – marking as junk with “delete mail marked as junk” set will undelete deleted mail
  • Fixed: 307629 – When importing an OPML file that only contains feeds that are already subscribed then error message wrongly says the file is not valid.
  • Fixed: 308435 – Can’t do anything on folder in the manage subscription
  • Fixed: 337363 – Unable to drag and drop feeds after Deleting RSS account
  • Fixed: 346306 – Instructions in account wizard not platform dependent
  • Fixed: 365377 – Rebuild Index of RSS folder doesn’t get feed info correct
  • Fixed: 371653 – crash in [@ nsMsgAccountManager::GetIncomingServer] when getPrefService has not been called
  • Fixed: 380636 – ldap addressbook book results are not sorted when autocompleting is in action
  • Fixed: 560772 – Make use of mozilla::services for comm-central
  • Fixed: 596885 – [UI] Move focus to newly created filter; select previous available filter after deletion
  • Fixed: 658666 – Comm-central xpcshell-tests busted due to bug 616999 / switching xpcshell to manifests
  • Fixed: 677111 – utf-7 encoded characters are not interpreted properly in TB 5.0.
  • Fixed: 684452 – Memory leak in nsEmlxHelperUtils::AddEmlxMessageToStream
  • Fixed: 692318 – can’t reenter RSS feeds after reoving them
  • Fixed: 695309 – Thunderbird sometimes marks entire newsgroups as unread (TB generates NNTP requests with bad formatting or in wrong order, so access to news server fails repeatedly)
  • Fixed: 697943 – Random orange: TEST-UNEXPECTED-FAIL | test_offlineStoreLocking.js | 128 == false
  • Fixed: 703978 – All RSS feed properties lost
  • Fixed: 704707 – don’t need event target (thread) when running imap urls
  • Fixed: 704722 – Incorrect regexp in OpenSearch
  • Fixed: 708813 – LDAP connection broken (application deadlocks) starting with version 9
  • Fixed: 711173 – Fix for UI freeze on feed biff/get new messages; renovate newsblog.js for fun.
  • Fixed: 712035 – Feed Subscribe dialog should respect user location preference.
  • Fixed: 714265 – Encoding not retained in GatherMimeAttachments
  • Fixed: 714495 – Port Bug 713167 – |Microsoft.VC80.CRT SideBySide errors, browsercomps.dll| to comm
  • Fixed: 714536 – Port |Bug 698630 – Remove –disable-smil build option and “#ifdef MOZ_SMIL” wrappers| to comm-central
  • Fixed: 714556 – Port |Bug 644801 – Remove Native uconv from the tree| to comm-central
  • Fixed: 714983 – avoid exceptions in file-utils.js when dismissing file picker dialog
  • Fixed: 715810 – Bug 679476 causes crash in [@ mime_parse_stream_complete]
  • Fixed: 715922 – pop3 move mail filters with quarantining turned off get the resulting message size too big by two bytes
  • Fixed: 715924 – pop3 move mail filters not truncating inbox correctly
  • Fixed: 716224 – Port bug 643167 and bug 707512 for better pymake support
  • Fixed: 716378 – Port |Bug 655439 – Use $(LIBXUL_DIST)/bin/xpcshell instead of $(DIST)/bin/xpcshell| to comm-central
  • Fixed: 716381 – Port |Bug 673461 – ANGLE needs to stop automagically turning itself off in configure if the DirectX SDK is not found| to comm-central
  • Fixed: 716821 – crash MimeHeaders_build_heads_list even if bug 624419 is landed
  • Fixed: 717182 – Permanent orange on Windows | TEST-UNEXPECTED-FAIL | test_largeOfflineStore.js (NS_ERROR_FILE_NO_DEVICE_SPACE)
  • Fixed: 717240 – Remove incomplete add/edit image map code from editor
  • Fixed: 717376 – Port |Bug 715576 – libalerts_s.dylib incorrectly links the static version of spidermonkey (in static-js configuration)| to comm-central
  • Fixed: 717493 – Port |Bug 717491 – “Warning: package error or possible missing or unnecessary file: bin/components/proxyObject.xpt (package-manifest, 151).”| to SeaMonkey
  • Fixed: 717883 – nsNntpService::WeAreOffline is a redundant function
  • Fixed: 718514 – Sending emails to newsgroups makes me crash [@ nsMsgLocalMailFolder::WriteStartOfNewMessage]
  • Fixed: 719037 – Most mail filtered into wrong folder (into the folder of the filter that matched the first message)
  • Fixed: 720328 – Update LDAP c-sdk to LDAPCSDK_6_0_7D_RTM
  • Fixed: 720354 – Drop unused MSG_FASTER_URI_PARSING code
  • Fixed: 720524 – use PRInt32 for variable containing return value of FindChar in nsMsgDBFolder.cpp
  • Fixed: 722168 – convert mailnews/extensions/offline-startup/js/offlineStartup.js to Services.jsm
  • Fixed: 722920 – Need a utility function to copy message(s) in file into local inbox
  • Fixed: 723105 – crash CrashInJS | nsMsgIdentity::SetFullName | nsOutlookCompose::CreateIdentity

Windows builds Official Windows, Official Windows installer (discussion)

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

Mac builds Official Mac

Software CarpentryStack Underflow?

Circling back to an earlier post, one of the challenges free-range learners face is where to get help after their workshop or short course is over. Google isn’t much help, since they don’t yet know enough to know what to look for, and Q&A sites like Stack Overflow can be pretty intimidating: most novices don’t want to bother people and/or don’t want to look clueless in public (and getting “That’s a stupid thing to ask, newbie” doesn’t help).

One possible solution would be to to set up an area on Stack Overflow specifically for novices. Anyone could ask a question there, but only people with a reasonably high score would be allowed to respond, since their score would be evidence that they’re both knowledgeable and civil (it’s hard to build up karma on SO if you’re aren’t both). As well as giving novices a place to turn for help, this would help them transition into the larger community; while it’s possible that questions would simply go unanswered, we think it’s more likely that at least some of the “hardcore helpful” on SO would dive in (particularly if there were bonus points for answering questions in this area). It would also help ore experienced users by improving the signal-to-noise ratio in the regular areas. Finally, it would make it easier for us to figure out what problems novices are having most often, and what sorts of explanations they find most useful.

What do you think? Is “Stack Underflow” worth trying?

Later: in response to some comments by email and on Twitter, this “novices area” would not be specific to Software Carpentry (any more than a question like “what’s standard input?” is). It could be implemented within Stack Overflow using a reserved tag such as “novice”, but by itself, that wouldn’t provide the safety that would come from restricting who could answer novices’ questions. It also wouldn’t provide the fringe benefit of improving the general signal-to-noise ratio…

Software CarpentryNew Kinds of Content

Mark Guzdial, whose blog on CS education is always interesting, recently posted about using worksheets to help people learn to write programs. As he says, research going back 30 years shows that reading and writing skills develop independently; there’s also a ton of research showing that partially-worked examples are a very effective (possibly the most effective) way to teach people new skills.

Which immediately suggests two questions:

  1. Should we provide worksheet-style examples on this site?
  2. If so, would you be willing to help us create them?

It would be very easy to say “yes” to the first question: after all, who doesn’t want more content? But looking at our site’s statistics, it seems that most people are surfers (like Xanthe) rather than divers, and people surfing for solutions to specific problems probably wouldn’t work through the examples. Also, given my travel schedule for the next four months, there won’t be any point saying “yes” to #1 unless a few people say “yes” to #2. We can’t promise to make you rich, but you’d certainly be popular :-)

We’d also like your help creating another kind of content. I used to teach with slides; these days, like many other people, I just plug in my laptop and program live. It’s not just because it’s more response—people also tell me that they learn a lot “by accident” from watching how I program. In that spirit, I’d like to record a bunch of programmers thinking aloud as they solve small problems on their own machines, using their favorite tools [1]. Emacs on Linux, XCode on Mac, the MATLAB IDE on Windows—each has its own quirks and joys, and we can all learn something from each of them. Again, the two keys questions are, “Should we?” and “Will you help?” Please drop us a line if you’d like to.

[1] Or aggregate screencasts like this that other people have already done, and whose licenses are CC-compatible. If you have favorites, please add links in the comments.

Bonjour MozillaPaul Berettoni (cmal)

cmal.jpg

(Photos : Pandark)

Bonjour Mozilla a fait la connaissance de Paul Berettoni voici 2 ans : Julia organisait alors le premier “Free Hugs”, endossait le costume de panda roux, et demandait à être accompagnée de personnes prêtes à parler au public. Paul avait alors répondu présent, et nous avions découvert un petit gars énergique, sachant faire preuve de pédagogie, et ne se laissant pas démonter facilement : pendant tout un après-midi, il est allé à la rencontre de toutes les personnes croisant la route de la mascotte, bonnes sœurs et policiers compris ! Vraiment, une belle journée, et de beaux moments.

Et puis, le jeune Paul est retourné à ses études. Il a brillamment décroché son Bac, et nous avons eu enfin le plaisir de le retrouver au Fosdem : plus grand, plus fort, et plus chevelu, mais à l’enthousiasme intact. Paul est désormais membre du Parti Pirate, il a troqué son pseudo de Berettonawak pour celui de cmal, et continue de militer pour le Logiciel Libre. Nous avons eu le bonheur de le retrouver à nos côtés pour tenir le stand… une chance ! Définitivement, Paul sait trouver les mots et parler au grand public. Un garçon précieux.

Bonjour Paul !


Bonjour Mozilla first met Paul Berettoni two years ago: Julia was then organizing her first Free Hugs party wearing the Red Panda costume, and asked for people to come with her and speak to the audience. Paul had then responded, and we discovered an energetic little guy, knowing how to be pedagogic, and not easily disturbed: for a whole afternoon, he went to meet every person crossing the mascot’s way, nuns and policemen included! It has truly been a beautiful day and beautiful moments.

And then, the young Paul returned to his studies. He successfully got his baccalaureate, and we finally had the pleasure of meeting him at Fosdem: bigger, stronger, and longer-haired, but with the same enthusiasm. Paul is now a member of the Pirate Party, he traded Berettonawak for Cmal as nickname, and continues to advocate Free Software. We have been fortunate to meet him at our side to be at the booth&hellip; a chance! Definitely, Paul knows the words and how to talk to the general public. A precious guy.

Bonjour Paul!

Mozilla Add-ons BlogBay Area Add-ons meetup: Got a demo?

I’m excited to be working with Amy to resurrect the bay Area Add-ons meetup next Tuesday night. The theme for this month’s meetup will be the Add-on SDK and Builder, so I will be giving brief overviews of how these tools work and the kinds of things you can do with them.

We’d also like for people to show up and show off their own add-ons, so if you’re interested in giving the group a short demo of a Firefox add-on you’ve been working on, send me a tweet at @mozillajetpack!

Remember: One lucky raffle winner will receive an Android tablet!

Date: Tuesday, February 21, 2012
Time: 6:00 – 8:00pm
Location: Mozilla SF – 2 Harrison Street, 7th Floor

Mozilla LabsWatchdog: Visualize your password reuse

Today, we’re releasing another neat little add-on as part of the Watchdog initiative here at Mozilla Labs. Watchdog aims to help you make wise decisions about your privacy. Unfortunately, if you’re like many users, it can be hard to see exactly where you are most vulnerable when you have dozens (maybe hundreds) of accounts linked to several different passwords.

On the original blog post, I wrote:

“You can look at this and pretty quickly figure out where you should start changing your passwords first, and which passwords you should stop reusing. As you change your passwords and update your Firefox password manager, the picture will improve!”

This new add-on, Password Reuse Visualizer, renders a visualization of the different passwords you use, the different sites you visit and the links between them. This way, you can quickly see which passwords you’re overusing and need to change. Hat-tip to Collusion, another interesting Firefox add-on with roots in Mozilla Labs, for inspiring some of my thinking about how to visualize password relationships.

Check out my detailed writeup (with more screenshots!), and as always, we’d love for you to take a look at the source code.

Firefox Support BlogWhat’s Up With SUMO – Feb. 13


Download video: MP4 format | WebM format

Big things this week

Firefox Support BlogSUMO Day is Thursday, Feb. 16th

We’ll have a SUMO answer questions Day on Thursday to support Firefox 10.0.1!

I will help moderate the support forum from 9am to 5pm PST (UTC -8) to encourage new forum helpers with answering support questions. I’ll be available on the #sumo IRC channel, michelleluna, or by private message to myself using the SUMO web site.

Just create an account and then take some time on Thursday to help with unanswered questions. Additional tips for getting started are on the etherpad. Our goal is to respond to every new question posted Thursday, so please commit to answering 10 questions throughout the day.

Grab your cape and join us! See you there.