Feed on
Posts
Comments

Lately, I’ve been managing two blogs, this one and the Community Surveys blog.  I wasn’t sure how many people subscribe to planet.mozilla.org or just to the feed for my blog, so I thought I would cross-post what I’ve been writing there.

Two links:

Many thanks to my colleauge in this effort, Stanisław Małolepszy.  Staś (his nickname pronounced Stosh) has created every graph you see in these posts and done the bulk of the raw data analysis.  Together, we’ve done the interpretation of the data and drawn the conclusions we’ve made.  Though I have done a bulk of the writing, Staś has also taken first cut at many of these posts, and then I have edited. As a non-native English speaker, Staś has really been able to write some eloquent parts.

Every now and again we all get to work with a colleague who seems to catch every error, suggest great ideas, and complete your thoughts.  That’s Staś.  Hope you all get to work with him one day.  Here is his blog if you want to see what he’s up to.

Umm…you might have to read Polish…but the pictures are cool!

A series of blog posts has been written about how we might start to apply the idea of “Powered by Mozilla”.  I’ve read posts by Slater, Tiffney, DougT, and David Boswell.   These posts all came just before or after a nice lunch time conversation we had about what the term “Powered by Mozilla” actually represents.  If a project used the term, what exactly did that mean?  Lots of thoughts emerged, but I came away thinking that we should start by defining some easy cases where we would feel comfortable with a project using this phrase.

Building on that idea about a week ago, I invited Harvey (Mozilla’s internal legal counsel) and a few others to sit with me and Asa, where we would draw the code stack on a white board and literally start circling the aspects of that code that would have to be included if we were to encourage someone to say they were powered by Mozilla.  The drawing looked something like this:

code-stack-2.png

Luckily, Brendan then walked in the room and the conversation got even more focused.   One point that was mentioned was that any “Powered by Mozilla” app should be, at least, Interenet-enabled and should align pretty well with Mozilla’s mission/vision. Brendan and Asa really helped drive the discussion of the code and what has to be involved to define an applicaiton.

So, I began to think about ways that we could tell if the app was Internet-enabled.  I brought up the point that maybe an application powered by Mozilla has to clearly state that it uses the Gecko user agent.  That’s not too hard to tell, thanks to cool applications like this that Asa forwarded to me from Henrik Gemal’s blog.  With this service, you can see what user agent your browser (or Internet-enabled app) is using.  Wouldn’t this be a fairly easy way to determine some good cases? This particular discussion is ongoing and I am sure more posts will surface, but I do think this is one interesting and fairly straight-forward way to find applications that could make the claim they are powered by Mozilla.

On Friday, I participated in our first Support Day at Mozilla.  My last post talked about what I had hoped to accomplish during the day.  I’m proud to say that I did nearly everything except upload a screen shot to an article.  (I use a Mac and found that most of Mac-specific SUMO support articles also had great accompanying screen shots.)  I thought I would use this post to relay some observations about Mozilla’s support day.

Most of my day was spent doing Mozilla Live Chat! support.  After a few training sessions where I observed a member from our SUMO community doing live chat, I was cleared to take support requests from end-users.  I was struck by the importance of this experience — interacting with our users, answering what might be considered simple questions from within the walls of Mozilla, and learning a lot about our product.  My experience also begged the question, “Is the end-user part of the Mozilla Community?”.  Some may claim that the question is not really something to debate.  Of course, the end-user is part of the community, right?  Or, is our community simply the world of volunteers who help make our product ready for end-user?  You be the judge:  I learned from them just as I learned from those who help localize our software or help others write extensions.  And, I found myself asking, “How easy is our software to use and how well is our software designed for user interaction?”.

Here is an excerpt from a support session, in case you’d like to read about just how one went.  I’ve changed the end-user identity and edited out some parts to keep it short:

Friday, April 11, 2008

(12:43 PM) sethb: hi end-user51
(12:43 PM) end-user51: Hi.  Can you help?
(12:43 PM) sethb: so you cannot view your adobe documents with your browser?
(12:45 PM) end-user51: No.  The message reads”Cannot use reader to view document in your browser.  now closing.
(12:46 PM) sethb: let me do some research on your issue. i’ll be back in a second.  ok?
(12:47 PM) end-user51: ok.  Trying to get my proof of insurance so I can register my car.
(12:47 PM) sethb: ok…we’ll try to do this quickly.
(12:48 PM) end-user51: Thanks.  Work graveyard at a casino.  Had to stay up in order to do this.
(12:49 PM) sethb: ok.  what version of Adobe Reader are you using?
(12:49 PM) sethb: can you find that?
(12:49 PM) end-user51: Will check
(12:49 PM) end-user51: 7.0
(12:50 PM) sethb: ok
(12:50 PM) sethb: can you do one thing for me?  open a new tab in Firefox and paste (or type) about:plugins into the URL bar where you would type a webpage.
(12:50 PM) sethb: let me know when you’ve done that
(12:51 PM) end-user51: ok, got it
(12:51 PM) sethb: i am going to see if your Adboe Reader plugin is enabled.
(12:51 PM) end-user51: ok

I quickly found out from end-user51 that the plug-in was enabled.

(12:54 PM) sethb: is Adobe open?
(12:54 PM) sethb: try this:
(12:54 PM) sethb:    1.  In Adobe Reader, choose “Edit -> Preferences -> Internet”.
2. Deselect “Display PDF In Browser” and then click OK.
3. Choose “Edit -> Preferences -> Internet”
4. Select “Display PDF In Browser” and then click OK.
(12:55 PM) end-user51: sorry.  Got kicked off firefox.  Had to restart session.
(12:56 PM) sethb: no problem.
(12:56 PM) end-user51: ok. give me a minute.
(12:58 PM) end-user51: will retry my proof
(12:58 PM) sethb: ok.

The end-user followed this recommendation and responded:

(1:00 PM) end-user51: Yeah, it works!!  Thanks so much!!!!!!  Was stuck huh?
(1:00 PM) sethb: so now you can view your Adobe docs?
(1:00 PM) sethb: great.
(1:01 PM) sethb: if there’s nothing else, please go get some sleep and take care of me next time i visit the black jack tables.
(1:01 PM) end-user51: didn’t have to restart to get it to work.  Thanks again.  Good training excersize?
(1:01 PM) sethb: great exercise.  thanks.

A few remarks and observations about this conversation and my experience with Live Chat!:

  1. “end-user51″ has a life!  Brilliant observation, I realize…  But, after reading that this person had been working the graveyard shift and had stayed awake to figure out this problem, I was somehow even more motivated to solve this quickly.   It took about 20 minutes for me to figure it out, but with more familiarity, I bet I could have answered this in under 10 minutes.
  2. Why wouldn’t this person deserve anything less than a consistent, polite, and helpful experience from Mozilla?  That was my main objective.  If this person is coming to us for live support, there is a good chance that they are on the verge of frustration or even anger.  Maybe the person is even ready to ditch Mozilla for (gasp) “other browser”.  What a great time to recapture a user’s loyalty, no?
  3. Is Live Chat! scalable?  To provide quick and superb support to end-users, it seems like we will need to have a big, reliable, and well-trained Live Chat! community.  Going forward, I will be dedicating a piece of my week to participate in Live Chat!, in hope to make it scalable.  Please join me.
  4. Live Chat! is a great way to get your head out of the weeds and learn about how the product impacts the lives of end-users.  My guess is even the most gifted developers would learn how to make Firefox better if they participated.
  5. Another shout-out to the community…  The articles that have been written to help end-users solve issues and the active members of the community who were online behind the scenes to help me help end-user51 were critical to my success.  Thanks to everyone!

I didn’t spend all day on Live Chat!.  My day ended by scanning five articles in the SUMO knowledge base and providing minor edits when necessary.  I competed the task, but again, I found that many articles were really well written and required only minor tweaks.  This is not to say that SUMO is in perfect condition - a lot of content still needs to be created.  But, what’s up is pretty darn good.  David Tenser (our fearless and ebullient SUMO leader) and I want to continue to build the SUMO community this quarter.  We’ll be trying creative ways to get more content on the site and to get more of you involved in the process.  Interested?  Then just ping me, please.

My SUMO Challenge

The title sounds like a Japanese wrestling tournament.   It’s not.  I’m just getting geared up to participate in the first Mozilla “Support Day” this Friday, April 11.  I thought I’d post what I intend to do and ask anyone reading this to join me by also participating in some way or another.

So, in case you missed it (from the SUMO day blog post):

“This is a great opportunity for you to get involved with Mozilla, regardless of your interests or expertise. We need people to write articles, create screenshots, correct spelling and grammar, answer people’s questions in the forum, or interact directly with Firefox users in live chat — just to name a few of the many ways you could help us out.”

You can learn more here at the SUMO Day webpage (already linked to above).  I also found the contributor home page (passed to me by zzxc, thanks!) and this page created by SUMO community member, Bo Bayles, to be quite helpful as I prepare for the day.

It’s hard to gauge how much I can get done, but I thought I would try to do the following:

  1. Add screenshots to an article
  2. Participate in “Live Chat Support” (Learn more by following this link.)
  3. Review and edit 5 articles by improving wording and checking spelling and grammar

That should occupy a good part of my morning on Friday, then I have to get an MRI done on my ankle, so I’ll have to head out.  I put my goals for SUMO day out there for everyone to read.  If you’d like, feel free to post yours here…or post elsewhere and link to it in the comments.

Ever wonder what it’s like for a non-hacker to jump into Mozilla’s world of add-on development?  If you’re reading this on Planet Mozilla, there’s a very good chance you have a lot more technical background than a guy like me.  But, maybe you’d like to read about a non-developer’s first attempt at writing an extension.

Here’s my story.

Last week, I found myself repeatedly performing the same task with my browser.  Over and over again, I would click on the “View” menu option in Firefox, select the “Toolbars” option and then mouse over to “Bookmark Toolbar”.  Why?   I have daily tasks that use bookmarklets that I’ve placed in my bookmark toolbar.  However, I like a sleek look for my browser, so I always choose to hide extra features like toolbars and sidebars.  You can imagine that the process of collapsing and uncollapsing my bookmark bar got a bit tiresome and it triggered the thought: “What if I built an extension that could take care of this for me?”

My curiosity to develop an extension for Firefox had always been overshadowed by a bit of timidity in crossing into the world of development.  I am not a developer, having taken only two or so CS courses in college.  What if I had a question?  Who would I ask without seeming to waste a Mozilla developer’s very valuable time?  Forget it…just move on, right?  Well, not this time…I felt like I had a good idea and was curious.  So I gave it a try.

Before going further, let me share the extension.  It’s called the “Bookmark Bar Toggler” and you can install by following this link.   The add-on remains in Mozilla’s add-on sandbox and will be in “experimental” phase until it moves into recommended status.  Therefore, you have to log into addons.mozilla.org to get this extension until it becomes recommended by AMO.  The Bookmark Bar Toggler allows a user to add a button to the chrome of the browser that collapses and uncollapses the bookmark bar.

After realizing I had an idea that an extension could solve, I began to search around on just how to make it.  I felt that this would be a terrific experiment.  Can I actually write an extension and then blog about the pain and/or joy of the process?

So, last Wednesday night, I looked at Mozilla Developer Center to see what I could find on extension development.   I found the page: “Building an Extension“.  It looks like Ben Goodger started this back in 2005.  Thanks, Ben.  Also, many thanks to Eric “Sheppy” Shepherd (docs guru) and all the folks from the community who have edited it to its present state.  “Building an Extension” takes the most novice (me) through the process of setting up an environment on the OS, creating a chrome manifest, and writing the XUL and JavaScript code.  I followed the step-by-step process to build the sample “Hello World” extension.  I eventually got it working, but not without some frustration.

One of the first things this tutorial asked me to do was to create the install.rdf.  In the install.rdf example, I was asked to cut and paste several lines of code into a document.  Admittedly, I was a bit anxious to begin hacking on my idea, so I changed some stuff that I thought I would use for my eventual extension.  Specifically, I changed “<em:id>sample@example.net</em:id>” to what I thought would be my extension’s ID.  I chose “firefox.toolbar.tray”.  Why did I do this?  Not sure…in hindsight the name doesn’t even really make sense.  But, the XUL hackers reading this will know that I changed the syntax to something incorrect, even though it tells me RIGHT IN THE TUTORIAL that this has to be “in email address format”!  Notice that my ID has no “@” symbol.  I thought I had followed every step, but my “Hello World” just wouldn’t work.  I eventually had to go back and recheck everything until I saw this error.  I was reminded not to be hasty, but also I had to wonder, why didn’t a flag pop up and tell me that this was an issue?  It might have been nice for some error message to have popped up somewhere alerting me to this syntax error.  Is that possible?  Another possible piece of feedback, maybe we should make the instructions about that syntax even more explicit.  Only newcomers are going to read this documentation, so let’s make it painfully obvious.  I must have spent nearly 2 hours trying to find this simple error.

Another error I found in my install.rdf was incorrectly referencing the version of Firefox where this extension would work.  At first, I had entered the <em:maxVersion> to be 3.x.  I just didn’t know what to put in there.  But, this was not correct.  I eventually found that I had to change the code to <em:maxVersion>3.0pre</em:maxVersion>for my extension to work.  This wasn’t really documented too well and it would have been nice to get some sort of error message…but I eventually figured it out by looking at other install.rdfs and seeing the proper syntax.

Eventually, I got “Hello World” to show up in the bottom status bar of my browser and began to feel like I was in business.  It was time to start figuring out how I was going to create a button that would make my bookmark bar collapse and uncollapse whenever I clicked it.  Web searches led me to this great article on MDC:  Custom Toolbar Button.  Could it be this easy?  I had the sample extension I just built on my computer to use as a framework, and now I had a tutorial on how to add a toolbar button to the chrome of the browser.

I began walking through the tutorial and thinking about what I wanted the extension to do.  I wasn’t able to find every answer on the Web, so I turned to the Mozilla community for some help.  So many tools exist for someone to access when needed:  MDC, irc.mozilla.org, Planet Mozilla, MXR / LXR, and more.  I’d be foolish to try to convince anyone reading this post that I know how to code in CSS, XUL or JavaScript, I don’t.  But, that didn’t mean I couldn’t ask or poke around to find answers to my questions.  That’s just what I did.  I got on IRC and asked some random questions to developers I knew would answer.  I could have easily visited #extdev to ask the extension development community about what I was trying to do, but chose to call on individuals I knew…either method would have worked.  With the “Custom Toolbar Button” tutorial and some persistence, I quickly learned how to create a set of CSS, XUL, and JS files that would get my extension running.  (Stick with me non-hackers…it wasn’t too tough.)  The explanations are all directly in the tutorial and it wasn’t hard to piece together and then figure out where I had bugs.

The trickiest part for me was writing the JavaScript.  I knew I had to expand the sample function that was set up in the MDC tutorial.  The skeleton was there and I had my ideas. I used the DOM inspector to inspect the browser chrome and find the exact name of bookmark toolbar that my function would reference.  Then, I got a tip to look at some SeaMonkey code in LXR and saw the “collapse” command.  I also got a tip on the final line of code, which dictates the state of the command (whether the bookmark bar was collapsed or not) to persist after I restarted or shutdown.  That code was in the SeaMonkey source here, line 4491.

I ended up with the following code:

function OpenCloseBookmarkBar() {
var elem = document.getElementById(”PersonalToolbar”);
elem.collapsed = !elem.collapsed;
document.persist(”PersonalToolbar”, “collapsed”);
}

Really not too hard to understand, is it? I admit, I stumbled through writing this.  But once I had it, it was easier for me to see how it worked.  Many thanks to sspitzer for a tutorial how to write this code.  Couldn’t have done it without the help of one of Mozilla’s long-time Jedis…sspitzer.

Another tricky part was creating the correct order of the lines of code in the XUL file.  I misplaced my JavaScript command in that file, as well as the reference to the CSS code.  But, once I saw that this was in the wrong order (by looking at other, similar XUL files and asking around), I changed it to the correct order.  In a perfect world, I probably could have used some better documentation on this.  XUL seems like it can be a pretty tricky language and structuring these files for a newcomer is pretty foreign.

The next step was designing the button for the chrome of the browser.  I went back to lxr and got the .PNG file for the Firefox 3 Mac theme.   Asa gave me some great tips on how to perfectly crop out and edit the section I wanted and, voila, I had a button for my extension.

The “Building an Extension” tutorial gives a great tutorial on how to package up the extension.  I followed these guidelines, zipped up my files, and put the extension on AMO.  To be honest, the process was really straight forward and not too painful.

It is obvious that so many community members have put work into this process.  For a non-developer, it’s not perfect, but it’s pretty damn close.  Congratulations and thanks to everyone who had some effort in making extension development easy (MDC, AMO, those who are on IRC and ready to help…), it wasn’t bad at all, sincerely.

So, what did I learn and what’s next?

  1. Version 2 of this extension needs to have a few things:  I have to create images that look good on other platforms; I am going to work on l10n; and I want to add key stroke commands that will collapse and uncollapse the toolbar.  Do you have any other recommendations?  You know the drill, comment on this post.
  2. I learned that MDC is awesome.  Really, this is a great resource from the Mozilla Community.  I was impressed how much of the documentation was already updated for Firefox 3!  Writing this extension would have been impossible without the community’s work on MDC.  What a terrific resource.
  3. It would be nice if there was some built in XUL debugger or error messenger that pointed out syntax errors and other things like where to place lines of code.  I don’t even know if this is possible or if it exists, but it was a thought I had.
  4. The addons.mozilla.org upload process was very well designed.  It allowed me to write a detailed description of my add-on and get it in the sandbox without a challenge.  Add-on developers are probably familiar with this experience, but for a newcomer, it was a great user experience.  What do you think?
  5. The Mozilla Community does it again…couldn’t have done any of this without those who were responsive to my questions or those who helped write the documentation.  Special thanks to Seth Spitzer, Asa, the guys on IRC, Dan Mills (irc nick: Thunder) for some thought provoking conversation, and all those who wrote this great documentation.
  6. Extension development is not as scary as I thought it would be.  I really wanted to demystify the experience.  With so many tools on the Web, a community of developers who will answer questions, and so much open source code to look at, I came away thinking that the biggest challenge is probably finding an idea and knowing how to do good web searches…just like when I had the idea to buy a new Nintendo Wii for $300.  That was also challenging, but I had the idea and performed some superb web searches. Time for some Guitar Hero 3 with Xavier Stone and  Casey Lynch.

That’s it.  Happy to enter the world of AMO as a novice hacker.  I’ll keep playing around with it to see how I can make this extension better.

Oh…and please install my extension and tell me what you think.

In the past few weeks, we’ve helped a few different Mozilla contributors who have been doing more great work for Mozilla.  Here’s the summary:

  • Les Neste will participate in the Community Loan Program.  We sent him a Mac Mini to use for the next six months so he can continue to do some great work running up to the release of Firefox 3.  After six months, we’ll reassess to see if he’d like to keep it for another few months to work on other projects, or send that Mac Mini to another contributor who might need it.  Les will be working on the following:
    1. development of the evolving Firefox user interface
    2. support Firefox 3 general theme development community by communicating changes in the Firefox UI
    3. continue to develop and maintain customized themes
  • Mozilla Italia needs better web hosting as we close in on the release of Firefox 3.  The user community has been growing in Italy and we are going to pay for hosting costs to make sure that there is enough bandwidth and service available to support the upcoming release (and increased traffic due to downloads).
  •  SeaMonkey Project requested 2 VMs (1 linux, 1 win32) to setup unit/mochi/crash/reftest buildbot slaves.   We partitioned a small part of the l10n server in Amsterdam, which was being woefully underused, to help out SeaMonkey.

The good news about this last month of activity (and the past few months) is that requests are coming in unsolicited.  I’m not prodding people to try to find ways to help, which I have to admit, feels good.  Perhaps it’s also a sign that the Mozilla community thinks this program is useful and is something that should persist…not that it’s been a question as to whether or not it should cease existence.

In the world of Mozilla localization, anyone interested can localize Firefox or other Mozilla applications.  Aside from that, there are other web properties that need translation and one of those is the addons.mozilla.org web interface.  I’ve been working with Wil Clouser and others to make sure that we address the AMO needs as we push forward with l10n tools.

Many of you may know about the tools available to translate addons.mozilla.org’s interface from English into another language.  I know Wil has posted a lot of this information in the l10n newsgroup, but it’s worth shining a light on his (and others’) work again as we get closer and closer to supporting and promoting translation software for our l10n community to use if they like.

The first piece of helpful information is the wiki that provides a comprehensive list of steps to completely localize addons.mozilla.org’s interface.  Follow this link to go to that Mozilla wiki page.  I went through this wiki page item-by-item and it very clearly defined what to do and how to become involved.  This type of detail was very helpful for me, someone who is not a localizer, but is craving more infomation to learn about our proces.

Another great site to visit to learn more about the localization tools available to localize addons.mozilla.org is http://remora.stage.mozilla.com/en-US/firefox/

If you login with “nobody at mozilla dot org”, with password “test”, you can click on the localization tools link on the right side of the page and see the fairly intuitive translation tools available for localizers.  At this site, I can change the settings to a language that I’d like to translate and begin the process of localizing addons.mozilla.org.  Intuitive indeed…  The menu items on the left navigation area take you through each section that is ready for translating.  In that menu, there are also a couple sections that give translation progress and status.  Please log in and play around a bit.

So what is needed?  From the wiki:

“AMO supports localized metadata about the extensions (like their titles and descriptions) but offers no way for localizers to directly edit them. The responsibility for translation lies solely with the authors. We’re looking at more usable ways to implement the system and still keep a good level of quality and accuracy. In the mean time, add-on authors are given this brief summary on how to get help.”

Any toolset that we endorse and support for localizers to use (stressing again: if the localizer chooses to use a tool) will have to be flexible enough to work with our Addons site.  It will also have to be very secure and integrate well with our process.  Wil has been a great help to me in understanding this stuff.  If you want to contribute, let me know or ping Wil.  I can connect you if you can’t reach Wil.

Our next step:  Wil and I and others are going to be meeting with a few members of our community who are working on projects that might integrate well and solve some of the issues.  I’ve mentioned the Narro project.  Wil has been communicating with Alexandru to see if it is flexible enough to server some of the AMO needs.   A few other developers from the community are out there and we’ve started to set up meetings to look at their code and see what is possible.

Lots of fun going on here…ping me if you have ideas.

Recently, I’ve been interviewing candidates for a community/marketing role that will work directly with the Mozilla community in Europe. It’s been a really interesting process that I think is worth discussing.

The biggest challenge that I have had when interviewing these candidates is trying to find out how the potential hire will interact with our community and fit into Mozilla.

I remember my first few months working with the Mozilla community (I still feel so new!), trying to figure out just how it operated and what were “the rules”. I had a lot of ideas, but was really, really tentative because I didn’t want to be a disruptive force with bad ideas. So, I proceeded with caution.

I’ve been trying to tap into candidates’ understanding of Mozilla and how they’ll move forward when hired. What are their ideas? And, how do they plan to pull off those ideas? What do these candidates know about the Mozilla community? What tools are necessary for success? Finally, how do they plan to empower others to feel like leaders?

The questions are so open ended, I’ve realized I’m more exploring ideas, rather than looking for a perfect answer. But, I’ve learned some good things.

...on empowerment: Candidates I’ve interviewed have said some interesting things on how to empower others - like having really transparent and open communication, but making sure to follow-up. People who are empowered will probably look for some sort of endorsement of their ideas, even if they are charging forward with something on their own. Providing meaningful and timely responses to others who feel empowered is really important. Complete agree! And, I don’t think I could ever stop trying to become better at this.

…on tools needed for success: Talking about tools can get dangerously high-level and the conversation can become loaded with jargon. But, in this process we’ve uncovered some pretty common-sense things. Most everyone has said that setting up environments for community interaction and dialog is critical. Blogs, forums, mailing lists, events… Luckily, I think we’re doing this, too. I came away asking, “How can I do this better?”

…on marketing and the community: I heard a few times that any organization that wants to “build community” needs to genuinely want that. Anyone that comes to the community in hope to really just market a product will probably fail because the community will quickly see through it. That was a great point I heard. In my experience, I really believe that the Mozilla community drives this project and any effort we make toward marketing is really only done if the community wants it.

The big take away for me in this process is that interviewing for some of these “softer” roles is tricky. I think I am really trying to gauge if the person “gets Mozilla”. I say that pretty carefully because it makes it sound like Mozilla is some private club that is hard to understand. It’s not really too hard to understand. Maybe it’s more appropriate for me to say that I am really looking for an organizational/person/job fit.

And, if you’re a candidate and reading this, well, I haven’t shown all my cards. I’ve saved some tough questions for you when we chat.

This past Wednesday, about 15 students from the Information Science Students Association (associated with University of Ljubljana) came to Mozilla to learn more about the project and what we do.  The students are in the U.S. for two weeks doing a tour of software companies in Silicon Valley and we were the first stop on their trip.  It was good for us to learn up front that many of these students use Firefox, but are not open source enthusiasts.  The beginning of our conversation was educating the students on our open source community and software development process.  Many of them knew our Slovenian localizer, but had not taken the plunge into the world of Mozilla.  We finished a brief presentation and then opened it up for comments and questions.

Frankly, the Q&A started a bit slow and the students seemed a bit shy.  Perhaps they were feeling some nervousness about their first visit or sitting inside Mozilla’s Mountain View office.  Nearly all of them were avid Firefox users and the few who weren’t greatly admired the project.  At this point, we did our best to engage the students.  It felt very much like grassroots campaigning or organizing.  We were surrounded by knowledgeable users of our software, but none had taken up the call to get involved.  That’s not to say the students were not engaged, but it became pretty clear that they may not have known how.  Fortunately, Mary had prepared a slide with several ways to get involved and we went right to that during the Q&A.  We began to brainstorm what this group could do to and what would be fun for them.

What’s fun for a college student?  Partying, of course.

The group decided that they would host a launch party at their campus for the upcoming release of Firefox 3.  That party might also serve as a starting point for their campus reps program.  After about an hour of visiting and touring about the office, the students left for Google seemingly enthused about helping Mozilla.

Why was this visit important and what did I learn? 

For one, Slovenia has the second highest market share of the Firefox browser, just behind Finland.  Both of these countries are over 40%.  (see the Xiti monitor study) According to this study, Firefox has 44.6% market share in Slovenia.  We’re always excited to welcome visitors to Mountain View, and we were thrilled to have students visiting from a country where Firefox has so much popularity.

Also, I was reminded about the importance understanding the audience to whom we were presenting.   We had to start at step one with these students, explaining the nuts and bolts of open source software development and what Mozilla has been able to achieve.  After we established that foothold, we were able to adjust our message and present a way to participate.  I think we did that and the result is that we have a group of enthusiastic students who will hopefully bring the Mozilla message back to their campus.

A final takeaway:  always have some good SWAG to hand out.  Yep…Stuff We All Get.  It can mean a lot to a visitor to Mozilla, if nothing more, it’s a nice souvenir for a tech student who visited one of the “big” companies in Silicon Valley.

With most every blog post, I like to end with a call to action.  If others have similar stories of community building, perhaps messages or presentation styles that were successful or anecdotes about trying to organize others, please do share them with us.

Alexandru Szasz was one of the localization tool presenters at FOSDEM and he recently opened all of the code for his Narro Project.  What a great step forward!!  Thanks, Alexandru!

The source is available under GPLv2 license here:

http://code.google.com/p/narro/source/browse

He also mentioned to me that “there is a database sql script there, but right now [he is] going through constant code and database changes. Not fundamental, but the picky small ones.”

You can also follow the Narro blog ( http://narro-project.blogspot.com/ ) to watch for the progress and first public release.  Alexandru relayed to me that he will define a “public release” by “an application that can be easily installed”.

We’re starting to make a lot of progress here with l10n tools:  we are holding formal conversations about tools at places like FOSDEM, we’re receiving proposals from some developers who are requesting funding, and we’re seeing people like Alexandru open up his code for all to see and contribute.

Congrats to Alexandru and Narro.  Please take a look at his code and start experimenting with him.

Next »