Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
What can I do for Mozilla? (whatcanidoformozilla.org)
290 points by robin_reala on Oct 10, 2012 | hide | past | favorite | 82 comments


I actually really like the idea of this type of site. More open source projects should have one. The entry point into getting a project that you want to help with can be a little tricky. On a personal note, this probably was the wrong time for me to see this site and want to help since the latest Firefox update this morning was a serious dud on my computer.


Everything went smoothly on every machine I own, you were unlucky. What's the dud?

I like the idea as well, it allows every developer out there to find a project related to Mozilla they can help with. Too bad it ends up very quickly on a hard to read Wiki page (I have never liked those).


I agree. I definitely the guidance it provides - it helps me to align my interests with open source. Kinda like online dating with an open source project. I was enthusiastic to contribute to the Django project but had no clue what to do.


Yes that's the problem. The landing page is pretty good, but when you click you're send in the usual Mozilla's maze. What makes me sad is that they're not looking for content strategists, UI designers or UX specialists.


They do seem to be looking for those, but as paid employees rather than volunteers.[1] Those roles are probably harder to outsource to the community.

[1] https://careers.mozilla.org/en-US/


Can somebody tell me reasons why UI designers or UX specialists are more difficult to outsource?

I know that many open source projects have difficulties attracting them, but I really don't know the reasons (any reason designers working in this field gave me also should apply to programmers - thus they also couldn't answer this question).


1) Visibility. Code isn't visible to the end-user, so it doesn't really matter how a programmer gets from point A to point B as long as it's bug free and efficient. UI/UX, on the other hand are exactly how your users define you, so it's not something you want to potentially leave to the programmer that just installed Gimp and learned how to use the shape tool.

2) Testing. Good UI and UX need to go through several rounds of highly controlled testing. The "controlled" part is the factor here--a group of guys in the basement isn't going to cut it, and there's no way to verify with open source communities that testing was done correctly.

3) Consistency. Design teams are able to churn out more consistent work once they've found their 'style'; multiple disparate designers are more likely to break that style.

4) Preventing design by committee. Pull request discussions for design changes could turn into disastrous free-for-alls that end up turning Firefox's chrome neon blue and each button red because the majority of random devs think it's 'cool'. Design is more successful as a dictatorship than a democracy.


I started writing a response about my experience as a designer at Mozilla and it got really long and I turned it into a blog post called "Code talks and designers don't speak the language." Thanks for inspiring me to come out of blog hibernation. http://skinnywhitegirl.com/blog/code-talks-and-designers-don...


Good blog post.

Concerning point 3:

"Probably the most daunting question for projects without any design lead that has the trust of the team is, how do the devs know if the proposed design is correct? Without that trust, bugs quickly devolve into nasty arguments. How you build that trust has been the subject of entire books. But the question remains, who and how do you approve a mockup? The code review process works great for just that… code."

Developers also have nasty arguments about what code is correct/the better one etc. ;-)

So this argument also should in principle apply to developers - but developers don't seem to have any problem about that point. I don't know whether the reason is simply that developers have less a problem with conflicts?

But nevertheless: there are well-established principles to judge which code/software architecture is better (elegance, smallness, extendability etc. (all of these can be judged rather objectively) - which role these play, depends on the project). I think it would help project leaders if you suggested a similar process for judging design decisions. Just an idea. If this is a bad idea of me, suggest a better one.


"there are well-established principles to judge which code/software architecture is better" There are very similar principles for judging which design is better (affordance, natural mapping), it's just that coders don't know those principles.

You're implying a value judgement that code is an objective discipline and design in a subjective discipline. There are aspects of visual design that are subjective. However, UX is a testable, repeatable, objective discipline that is informed by the work of cognitive science.

Yes coders have arguments... with coders. They have inside baseball arguments. It's entirely different than a designer having an argument with a coder. Often, the designer has to teach the coder the principles of design in order to even engage in a logical, productive discussion.

The overriding point I was making is that the tools like github are designed for code, not design. Our tooling inherently advantages code. It's a pain in the ass to even insert an inline image into a comment. Github isn't built for evaluating mockups and wireframes. Designers do our best to bootstrap into the tool, yes. But it's not our tool.


Fantastic blog post! You have a much more optimistic approach that I could learn from. Too often I find myself saying "Because I said so, dammit! You code, I design!," but the idea of building trust and credibility is a good one.

One of the challenges of design education for developers is that developers are naturally geared toward rule sets, which becomes a problem when the designer decides to break the rules for a justifiable reason. Just like devs couldn't teach a designer to code in a day, a designer can't really provide all of the ins-and-outs of good design to devs. Perhaps education needs to be introduced to devs as to the value of UI/UX, rather than the specifics.


I imagine that the less concrete requirements on the UX make it more difficult to negotiate design decisions via pull requests. Typically OSS code contributions don't include design changes (e.g moving proven core components from shared state to a message queue for aesthetics), but bug fixes or very concrete feature additions which are easy to reduce to tests.


Are you a UI designer or UX specialist? If so, in what way would you like to use your skills to contribute to open source software?


No, I'm just a simple developer whose design skills suck so much, that I don't even try to interfere with the designer's affairs (that's why I can sustain good relationships to designers, since they hate interference of customers; at least, as long as I don't try to come up with ideas like testability of designs ;-) just kidding).


I'm also curious to know. I think it's a really good opportunity for showcasing work and giving back to the community.


What went wrong with the update? Maybe it's actually a perfect time because maybe you can figure out why it was a "dud" and fix it :). Assuming your an engineer.


When I type in the address bar I can't see the URL's pop up like I used to. All I see are the favicons. When I have a window open and try to open another one Firefox freezes and crash. There are a few more things but those are the major problems. I never had a problem with a Firefox update before until this morning.


The address bar is apparently caused by the delicious addon: https://bugzilla.mozilla.org/show_bug.cgi?id=799903


wow, thanks for that. I do have delicious installed. The fact that it could have been a plugin is why I didn't do a bug report. I just did a fresh install, still had the problem, and was going to go into safe mode after that. I wanted to see if I could isolate the problem first. Glad someone else already did.


I'd guess if you start in safe-mode those problems would disappear.

If so, you can hunt down whether it's an extension (likely), plugin, or some config setting that's causing issues.

e: Ok, so it's the delicious addon. Surprised that no one caught that in the 12 weeks of aurora/beta builds.


Would be cool if it went into greater detail.

"Oh, you're a C programmer? You can work on NSS".

Thanks for letting me know. I'll log that away. How about this:

"You're a C programmer? Here's an interesting bug targeted to the NSS component I've pulled from Mozilla's bug database which might catch your fancy"

Hm, that's interesting. How would I solve that? Maybe if I...no. Hm. Let me pull down the source code to see what would work here...


"Bugs Ahoy" is a website that lets you filter Bugzilla bugs tagged "[good first bug]" or "[mentor=]" by programming language and feature area:

http://flyinformation.nfshost.com/bugsahoy/?cpp=1


NSS is actually the only suggestion for C programmers (no matter how many times you click you're not interested).


Presumably because NSS is the only part of Mozilla actually written in C...


Not to mention how he talks down to certain devs because of their language preference. We get it, you don't like it, don't have to be condescending, especially when you're trying to sell an idea that ANYBODY can work for Mozilla because of their wide reliability on things.


Except Rust, all other languages have theirs. I hardly understand how people can feel offended from jokes such as these.


I'm pretty sure those are just some tongue-in-cheek jokes, all in good fun


If you select PHP, you get "So you like your variable names to include dollar signs? That's cool, everyone misses Perl once in a while." Making smartass remarks about their language of choice is not a great way to initiate a relationship with a developer.


The remaining quotes:

C++: "So you like long compile times and incomprehensible error messages? That's cool, we do too"

Java: "So you're a believer in AbstractMethodFactoryBeans? That's cool, we all have our vices"

Python: "So you enjoy the paradigm of backtrace-driven development? That's cool, everyone gets a bit tired of static typing once in a while"

C: "So you think OOP is for hipsters? That's cool, we all get nostalgic sometimes"

Javascript: "So you're a dynamic individual who thinks that, underneath, everything is an object? That's cool, we like to dream as well"

For Rust, it just sends you directly to it's site.


The author of the site works on Rust ;)


It all makes sense now


While this is obviously intended to be humorous, I don't really care for the way it attacks the users of the language in such a mocking, patronising manner.

Criticizing languages/paradigms is fine (the resulting flame-wars add a great deal of humour and interest to the world of programming) - but to caricaturize users of different languages as people suffering from certain negative traits is just ugly and leaves me with a bad taste in my mouth reading this.

I for one would not want anything further to do with this author or site.


I was kind of annoyed when I got the first remark after selecting C, but once I found out they made fun of everything, I actually started to like its criticizing.


only the famous get mocked.


It sounds to me like it acts as a filter for people who can't take a joke.


"Fanboy Trap", it seems to work.


It says some similarly smartass remark about every language you choose. I like it, and think it fits in well with the tone of the rest of the site.


Notice that selecting any language gives you a dismissive remark, not just PHP. But you're right in that it's probably not the best way to cast a wide net (unless they're intentionally selecting for contributors with a good sense of humor).


Except for Rust which takes you directly to rust-lang.org. I actually like the idea though. No language is perfect and people do seem to be a bit too sensitive of their favourite languages.


There are plenty of jokes we make at Rust's expense: http://mozillamemes.tumblr.com/post/29632512055/want-to-writ...


"So you have a fetish for pointer types? That's cool, we all get tired of monogamy eventually."


You learned how to program bank software in the 80s? COBOL is GREAT for that


It makes remarks for all the languages. I think it is part of the appeal of the website.


Ya, not everywhere tries to pretend that no one has a sense of humour the way HN does.


As far as "remarks dismissive of PHP", that's pretty tame. If anything it's dismissive of Perl.


What's the difference between a joke and two dicks?

YOU CAN'T TAKE A JOKE.


This happens for every language :)


Except for Rust :)


Everyone using Rust professionally seems to be already employed by mozilla.


for now

I'm still waiting for it to stabilize, but I plan to experiment with Rust in my next systems-level project.


Can't take a joke?


Amazingly, you can submit a pull request to this site, to fix it. So I did. https://github.com/jdm/asknot/pull/27


Good work, with one issue. I don't know if the author would like to address it, but if he would then I think he'd be able to capture more folks along the way.

The page assumes that they only need programmers. If you don't know any languages and are not interested in learning, you can help in other ways like on mozillazine and irc. Artwork, etc etc. It may be good to work through how the buttons/layout should work for this, but overall I think you'd get more involvement in that fashion.

Other than that, I think this is pretty neat. I may copy it.


The "Get Involved" page [0] mentions that already : "You don’t have to be a C++ guru (or even know what that means!) to get involved. You just have to love the Web". I guess this page is specifically for programmers.

[0] http://www.mozilla.org/en-US/contribute/


would be nice to have a "none of the above" option for people who A) Do not use those languages or B) are not programmers who would like to help

Every project can do with documentation help etc.


The existing "Bugs Ahoy" site (created by the same person) has lots of choices: http://www.joshmatthews.net/bugsahoy/

...but it gets you right to bugs, which may be a harder place to start for some contributors.


I would like to toss in that I am a beginning programmer: Not nearly good enough to fix the bugs, but I can read code and help comment it, change it to make it stylistically compliant, etc.


The line at the top of the page, for me, says "Undefined". Firefox 10.0.7, Windows 7.

I debugged it for you - the outerHTML property isn't supported in Firefox < 11. Here's the solution from StackOverflow:

function outerHTML(node){ return node.outerHTML || ( function(n){ var div = document.createElement('div'), h; div.appendChild( n.cloneNode(true) ); h = div.innerHTML; div = null; return h; })(node); }


Even more handy would be to submit a pull request! It's open source! https://github.com/jdm/asknot


This is pretty cool! I'm a hobby web dev that has worked with Django on personal projects. It's cool to see how the big boys do it. I'm already on my way to installing Zamboni(https://github.com/mozilla/zamboni/) on a Vagrant Virtual Machine - in other words, this has opened my eyes in terms of workflow for large scale Python/Django projects!


Best find yet while looking through Mozilla's web documentation is Playdoh, Mozilla's Web application base template: http://playdoh.readthedocs.org/en/latest/index.html https://github.com/mozilla/playdoh

This should be in every Django book!


While this is a neat idea, it seems to fall to the same problem I've seen elsewhere, little to no transparency as to where a project is going. For example, I was suggested Shumway (JS flash emulator). I'm sent to the github page for it (https://github.com/mozilla/shumway). They give a small summary and a little info on getting an installation working. Nothing however I can see on where a new contributor would start with helping out. No road-map, no "we need this feature and no one has claimed to work on it yet", this bug needs to be fixed for the next release, etc.

I'll admit I've never contributed to FOSS so maybe a veteran can fill me in but I see this a lot with projects. Some have decent issue/bug tracking, but I often find it very difficult to determine how a project is supposed to progress, what features are needed for the next release, where do they stand currently, etc. I assume a lot is decided out-of-band through e-mails and IRC.


To be fair, shumway has not as many people as Gecko or other big Mozilla projects to do triage and things for the newcomers, the shumway team being minuscule and the project an ongoing effort.

If you want to contribute to a Mozilla project, but can't figure out how you can help, please come on irc (irc.mozilla.org), usually on #nameoftheproject (here #shumway), or in #introduction if you want something more generic.


There are other ways to contribute to Mozilla (beyond coding) listed on http://www.mozilla.org/en-US/contribute/.

Some of their web projects have amazing documentation for new contributors, such as Kitsune's documentation: http://kitsune.readthedocs.org/


Yes, as a non-programmer, I could do things like reproduce bugs on various operating systems (e.g. GNU/Linux various flavours with nvidia cards using proprietary drivers and Intel integrated graphics). I could also help with documentation.


Some of the questions are misleadingly worded (e.g. "what's your favorite language?" should probably read "is this your favorite language?"), but something along these lines has the potential to be brilliantly useful for any sprawling open source project that depends on engaging volunteers.


It took me way longer than it should have to figure out what the hell this site does. Why not present a list of languages the user can pick from? Also, "Tell me more" and "Keep going" are too similar in meaning.


So, I never really thought about contributing to anything Mozilla was actively developing.

This site definetly did a good job of directing me in the right direction. Its a good idea IMO.


I would love if more large projects had pages like this.


Why does it suggest Emscripten for C++? It is written in Python/JavaScript... What is needed, IMHO, is more modularization of the JavaScript. I don't see how a C++ expert is needed. Implementing C++ wrappers for browser API's or what?


Is there something along these lines that has data for multiple open source projects? I think a lot of folks (myself included) would benefit from something that could provide some guidance, rather than randomly clicking around Github.


What I would really like to do for Mozilla is, fix the memory leak problem in the Mac version :( (Never used the windows version, so don't know if it exists in windows too)


What about some more interesting applications... what could Mozilla do with some machine learning for example?


I miss ruby :)


We don't have any projects in Ruby at Mozilla that I'm aware of. Sorry, can't be all things to all people.


Any specific reason why the Design Specs are hosted on Dropbox?


they don't mention NSPR. is it dead? http://www.mozilla.org/projects/nspr/


It doesn't need quite the same attention as the other stuff, nor does it have the same development pace. It's using CVS for crying out loud.

Also, it's shared with other projects (Google uses it).


This is a great start!


Awesome filter.


Download Chrome. Make Mozilla as fast as Chrome.


They're working on it. http://arewefastyet.com/




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: