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.
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...
"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.
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).
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.
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.
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.
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.
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.
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.
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.
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);
}
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!
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.
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.
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)