Category: all

Catchall for posts.

Why I was part of creating a thing called TransTech(SF)

Last night I helped hold the third local meetup of trans and genderqueer people who are interested in getting together to hack on our projects. This is the third event since the amazing Trans*H4CK  Hackathon (the first one of its kind!) that took place in October 2013.

When I heard through the grapevine that there was going to be a trans-focused, trans-organized, local hackathon I was beside myself.  Finally I would get the combination of identity and technology in one space that I have been dreaming of since going back to school as a mature student in 2004-5 in order to get a degree in Software Development.  My lofty goals in going back to school can easily be summarized in two ways: 1. I wanted to get a better job than being a brunch chef or a non-profit artist-run center, contract employee with no job security or dental benefits and 2. I hoped that whatever I could learn about technology and software would become tools I could bring back to my queer/trans/genderqueer/arts community and help anyone who wanted it at whatever level they ask for.  This has come to mean hosting websites for people, helping build websites for people and small orgs, and also doing some random consulting. It has also led, funny enough, to a certain amount of fixing people’s computers.  That’s nothing I learned in school, it’s just something I seem to have the right combination of lucky and chutzpah to try — ratio of success lies at about 85-90% so far (some things are unfixable, by me at least).

Anyway, I got into tech and got through a grueling 4 years of school with all its associated stresses.  No need to go into details because I finished that thing AND I got a pretty amazing job right out the gate.  Health benefits (specifically the much-needed dental)?  Check.  Ability to help my communities with tech stuff?  Yes….ish.

Turns out it’s not that easy to still be people’s go-to for tech help when you start working more-than-fulltime at a fast-paced company. Also when you move across the country from the majority of your closest friends and aquaintance community.  I made that decision though because I wanted to take the opportunity that existed for me to come here, to SF, and be in the heart of it all.  Little did I know at the time I was walking on stage at a very precarious time (that’s a whole other post).

Skip forward.  I’m lucky enough to have one woman (self-identified to me as a feminist on our first meeting) on my team of 8 people.  So I think tech is pretty awesome. Then she leaves, goes to another team.  Then I go to my first PyCon and swim in a sea of homogenous men I don’t know.  Then I meet a handful of really exciting people who put the words “Queer” and “Tech” on a scrap of paper for a DIY session in the basement of that hotel in Atlanta, 2009.  That is one of the *big* moments.  It’s when I started, with that group of people, to promote teaching Python to women. Based on the success of RailsBridge‘s workshops teaching Ruby on Rails to women (I went to one, Ruby and Rails are not my thing for now) and also the Boston Python Workshop which did a lot of the groundwork for adapting the RailsBridge-style weekend material to a Python version, I ended up starting PyStar with a few people. Our goal was similar:  make it possible for more women to feel comfortable learning Python in a non alpha-male space.  We had a few workshops in SF and Mountain View (Mozilla office space was easy to get and use for weekend workshops). There were groups creating workshops in Philadelphia (still, to this day, the most active city for this project) and in Minneapolis.  I even threw one together in Paris for a night when I was living there for 3 weeks and working from the Paris Mozilla office.

I’m sharing this with you, reader, because this is the backdrop for what comes next.  For me, teaching women to code was…OK.  Don’t get me wrong – it’s important work and I’m glad it’s happening.  For me though, I still felt kind of lonely.  Since the majority of attendees were middle/upper class, young, heterosexual women I wasn’t really connecting on the levels that I do with people who share other similar identities and life experiences with me.  Or at least ones I am more familiar with, if not my own.

I got a bit disheartened by organizing events that I no longer felt I truly connected with and I took some time to try and figure out how to best spend my time and how to be the activist I wanted to be.  Enter GeekFeminism, having several of the people I met through that hired on at Mozilla, PyCon drastically improving its ratio of women attendees (speakers, still being improved), and meeting Leanne.  Over the past couple of years, again keeping it short, I’ve managed to go to conferences and meet lots of people and dream big with them. The LGBT lunches at Grace Hopper have been fascinating.  Getting to attend AdaCamp – huge boost.  Finding people and connecting with them on all the things that are big problems we want to be a part of solving — the one is often comes down to is “How do we get more diversity in tech?”.

At Mozilla I end up making that a second full-time job that is not what I am paid to do (working on that).  Instead I got discretionary funding that I could use to help leverage women in open source which eventually grew into supporting anything with diverse populations that were not prominent or numerically well-represented in open source.  This looked like me being able to offer up the Mozilla office(s) if and when I could be there to hold the space.  It looked like being able to sponsor a variety of events with amounts less than $2k who were promoting, retaining, or otherwise engaging people in tech & open source more specifically.

One of the events I ended up directing money towards was Trans*H4CK because, as I mentioned at the start – I was so frickin’ excited that this was going to happen and I wanted to help it happen.  I reached out to Kortney and offered money, asked if (while I was planning to attend regardless) I could talk for 5 minutes about open source. I did that.  I went and talked and gave my, now usual, talk about why open source is important (think: View Source on webpages and how you might have benefited from being able to do that).  Then I hacked on stuff and met people and generally soaked up what it felt like to be in a space where I felt seen, whole, and just surrounded by people who were also being seen.  We exist, in numbers more than the one or two at your day job! What a fun weekend.

Then I wondered – why just one weekend?  This was in the Bay Area and while a handful of people traveled to the event most were local.  In the style of user groups and meetups, why not continue to have a monthly get-together of this particular blend of nerdgeektransgenderqueer fabulousness?  I proposed this to Kortney, offered up the Mozilla SF space to hold it, got food for the attendees, and we had one in November that was probably attended by about 20 people.  Pretty sweet.  There was a lot more socializing than actual hacking but that happens when people are still so new to getting to be around each other.  With the success of that, I wanted to hold more but I think the holiday period got in the way so the next one I helped put on, this time at the Double Union maker space, was February 18th, 2014.  It being closer to my house and not at the office I rarely go to anyway was awesome, btw. Also I bought snacks with my own money to bring. That night I thought: we need a regular night – say, the third Tuesday of every month, so that it can be something people just *know* is on and can show up to. No need for invites, mailouts, or headcount – keep it simple. I proposed this to the people at the meetup, and thought this was generally agreed upon.

With that in mind, and with a pretty busy schedule coming up, I wanted to get the March date on the Double Union calendar sooner rather than later so a couple of weeks ago I reached out to the membership list asking if the Tuesday night circuit class would be up for sharing the space with another trans hacking night (as that was the best date for me, as the organizer).  They were open to it and all seemed fine but another email thread started up about whether or not the trans hacking nights would be trans-only or not (if they should, even).  This is something, btw, that the TransTech community participants will be chatting more about so as to determine what guidelines and priorities to have when choosing space or setting up meetings. In that thread Kortney expressed concern about not being able to make the date and I said that I was trying to set up the every-third-Tuesday nights, as discussed at the February meeting.  No further response came and I went ahead with booking it (circuit group moved to another night to give us the whole space, thanks!) and setting up an invite.  Double Union still doesn’t publicize their address so the invite was needed to have a way to reach people who said they would attend.  My goal was to use this next meetup to set up open communication tools that could be used by any member of this nascent “we get together and hack on stuff with other trans/genderqueer people” community.  So we did that.

Last night I was at Double Union with some others and I set up a mailing list, a wiki, and IRC channel, and a Twitter account.  I shared all the admin/login details with the others because this isn’t *my* thing. This is, to the best of my knowledge and experience in open source, how we start communities that are as free of bottlenecks on getting things done as possible.  Then I put that information out there.  The goals, again, are to have spaces where trans and genderqueer people who are in technology (or want to learn to be) can meetup to work on their projects or even work on each other’s projects.  I hope we’ll also get to work on projects that help our communities, for example I’m trying to figure out how to help Homomobiles get an app as it drives me nuts to see people using Uber and Lyft when we have this opportunity to put even a sliver of our collective queer and trans money back to a queer and trans organization and help grow it.

All that to say:  There’s always room for lots of ways to bring people together. This is my expression of how I do it.  Mozilla, while being my employer, does not dictate what I do with my spare time and yet I am fortunate in being able to book our office space(s) when available for events.

I’m being told on Facebook and Twitter that this is stealing, that I’m stepping on Kortney’s toes and please believe me, I tried to do everything I could to avoid that. I intentionally sought another name out of respect for the way that I see Kortney branding and promoting Trans*H4CK and how he is doing great things with that.  I see TransCode (teaching coding), Trans*H4CK (hackathons and speaker series), and then TransTech (local community building, mentor/mentee finding, getting things done in a room with people you have that certain connection with) as all being part of the building blocks for continuing a trajectory of making and taking up space in technology for those of us who are outsiders, underrepresented, or just plain want to put our efforts into working with other social justice activists in building trans & genderqueer focused space.

If you’re in the Bay Area and want to know about meetups, be part of shaping this community, or otherwise lurk about to see what might grab your interest down the road then please follow us on Twitter and/or join our mailing list: https://mailman-mail5.webfaction.com/listinfo/transtech-discuss

Let’s support each other in always leveling up.

 

 

 

 

 

I’m looking at you, Gift Horse

a wall of snack food, mostly sugarey
I have to avoid this. All. Day. Which turns into “avoid the office”.

I’m going to say something that might be controversial, or hard to understand for some folks but it’s getting to the point where I’m starting to stay away from the office more than I’d like to so here goes:

The snacks. The never-ending supply that I would *never* eat otherwise. That I would not go to a corner store and purchase. I really wish they were gone. I wish that we, people who all make salaries above that needed for living decently, were accountable for buying and bringing in our own snacks as we chose. Keep them at your desk, share with nearby co-workers, I would love to see this. It would be so much better for me if the only things we had in the kitchen were fruit and veg. Milk for coffee, sure.

When I first started working for Mozilla, as a working class grew up broke kid, I was floored by all the free stuff & free food. I lived off it as an intern to save money. I appreciated it. It made me feel cared for. Now it’s like a trap. A constant test of my ability to make “good” decisions for myself 250 times a day. Often I fail. Failure makes me stay away from the office as an attempt to cope. Staying away from the office causes loss of connection with you all.

I suspect there might be feelings of being ‘punished’ if the snacks were less abundant (or even gone) because we’re used to all these ‘perks’ in our tech offices. It’s not something most offices (outside of tech industry) have and I would encourage a perspective shift towards accountability, recognizing the privileges we *already* have even without free all-day snacks, and thinking about what it means if some people have to choose to stay away.  Considering the origin of these snacks is from a startup mentality where workers were expected to be pulling really long hours without getting up, out, or going home.  Is that really what we want to promote and call a perk?

Contribution opportunity: Early Feedback Community Release Manager

I’ve been in Release Management for 1.8 years now and in that time we’ve grown from one overworked Release Manager to a team of 4 where we can start to split out responsibilities, cover more ground on a particular channel, and also…breathe a bit. With some of the team moving focus over to Firefox OS, we’ve opened up a great opportunity for a Mozillian to help Release Management drive Firefox Desktop & Mobile releases.

We’re looking for someone committed to learning the deepest, darkest secrets of release management who has a few hours a week consistently available to work with us by helping gather early feedback on our Nightly channel (aka mozilla-central or ‘trunk’).  This very fabulous volunteer would get mentoring on tools, process, and build up awareness of risk needed for shipping software to 400 million users, starting at the earliest stage in development. On our Nightly/trunk channel there can be over 3000 changes in the 6 week development cycle and you’d be the primary person calling out potentially critical issues so they are less likely to cause pain to the user-facing release channels with larger audiences.

A long time back, in a post about developing community IT positions, mrz recalled a post where I stated that to have successful integration of community volunteers with paid staff in an organization there has to be time dedicated to working with that community member that is included in an employees hours so that the experience can be positive for both parties.  It can’t just be “off the side of the desk” for the employee because that creates the risk of burnt out which can lead to communication irregularities with the volunteer and make them feel unneeded.  For this community release manager position I will be able to put my time where my mouth is and dedicate hours in my week to actively shape and guide this community Release Manager in order to ensure they get the skills needed while we get the quality improvements in our product.

So here goes with an “official” call for help, come get in on the excitement with us.

You

  • Are familiar and interested in distributed development tools (version control, bug tracker) typically used in an open source project of size (remember when I said 400 million users? Ya, it’s not a small code base)
  • Want to learn (or already know) how to identify critical issues in a pool of bugs filed against a code base that branches every 6 weeks
  • Have worked in open source, or are extremely enthusiastic about learning how to do things in the open with a very diverse, global community of passionate contributors
  • Can demonstrate facility with public communications (do you blog, tweet, have a presence online with an audience?)
  • Will be part of the team that drives what goes in to final Firefox releases
  • Learn to coordinate across functional teams (security, support, engineering, quality assurance, marketing, localization)
  • Have an opportunity to develop tools & work with us to improve existing release processes and build your portfolio/resume

We

  • Mentor and guide your learning in how to ship a massive, open source software project under a brand that’s comparable to major for-profit technology companies (read: we’re competitive but we’re doing it for different end goals)
  • Teach you how to triage bugs and work with engineers to uncover issues and develop your intuition and decision making skills when weighing security/stability concerns with what’s best for our users
  • On-site time with Mozillians outside of Summits & work weeks – access to engineers, project managers, and other functional teams – get real world experience in how to work cross-functionally
  • Invitations to local work weeks where you can learn how to take leadership on ways to improve pre-release quality and stability that improve our Firefox Desktop/Mobile releases
  • provide references, t-shirts, and sometimes cupcakes :)

I’ll be posting this around and looking to chat with people either in person (if you’re in the Bay Area) or over vidyo. The best part is you can be anywhere in the world – we’ll figure out how to work with your schedule to ensure you get the guidance and mentoring you’re looking for.

Look forward to hearing from you! Let’s roll up our sleeves and make Firefox even better for our users!

 

 

Planning a Summit is hard, let’s go shopping

Hello fellow Mozillians (and curious onlookers)!

In a couple of days you will, en-masse, get your first peek at the high level agenda of the 3 day MegaMozillaFest you’ll be cannon-balling into this coming October. As someone who feels very fortunate to have been part of the planning processes (more multiple threads than you can shake a stick at) I thought I’d take some time during my layover en-route to Toronto and fill you in on what got us here in the hopes that:

  • I can shine light on how much hard work and sincerity went into the organization so that participants can get a lot out of this experience
  • You can see how many different voices and teams come together to plan an event at this scale
  • You’ll become as excited as I am (or close) for the journey we’re about to go on together this fall

It started, for me, back in June when 70 ‘delegates’ were brought together at the Mozilla Paris office to begin the conversations that were intended to bubble up the big issues and tensions that our community needs to address at Summit.

Wait.  It started before that.

For delegates going to the Paris Planning Assembly, we were asked to go out and interview people in our ‘functional areas’ and query them about the story of how they got engaged with Mozilla, what they perceived our challenges and opportunities to be, and where they see Mozilla going in the next 10-15 years.  I reached out to our Homozilla list, WoMoz, and also to the Firefox Team – a nice, diverse group of people to try and drag up some feedback to bring.

Sidebar:  We often get asked to seek feedback from others in preparation and most recently I did this for a TRIBE workshop. From doing those interviews in person I now plan to commit to doing all sorts of info-gatherings in person/vidyo rather than over email.  It’s too easy to send out an email blast and then just pick up what comes back to you. I get so much more from talking with a person face-to-face (video chat counts) and as you’ll see later in the post about Summit planning, it’s important to go a little further trying to encourage feedback than just a one-way missive over email that can be easily ignored or missed.

 

I got less feedback from people than I would want or expect.  It’s a part of our culture to be cycling rapidly on our work and that results in a general air of being overwhelmed and too busy to do anything out of the usual routine so I largely attribute the low response rate to that. For my part I could have framed the questions differently, reached out to individual people instead of group lists, held a vidyo ‘office hours’ to talk with people in person, and followed up more (ie: nagging, a RelMan’s #1 skill).

Minimal feedback aside, I went to Paris feeling very much like I could bring a certain voice to the discussions as someone who wears many hats in our organization and who’s been involved with the project since 2006.  Also, as a former unpaid contributor, intern, then full time hire I can imagine some of the realities of what it’s like in the shoes of many  Mozillians.

I’ve already written a bit about what happened at the Paris Summit Planning and how it impacted me so I’ll sum up by sharing that when we left Paris the “what’s next?” action was that we each put our names to one of 5 groups where we could be called upon later for ideas/session planning/accountability for that area: People, Process, Product, Strategy, Purpose

Those groups then got turned into three track themes and were assigned two track leads who would work with Steering Committee members on refining the sessions for each as well as with the other delegates from Paris who had signed up to be accountable for those topics.  The entire breakdown of this process is handily in a wiki page, but here’s the high level of who’s involved so you know who I’ve been working with for the past month or so:

  • Purpose & Strategy – Track Leads: myself and Michelle Thorne, Steering Committee: Mitchell Baker and Mark Surman
  • Products & Technology – Track Leads: Dave Herman and David Ascher, Steering Committee: Jay Sullivan and Brendan Eich
  • People & Process – Track Leads: Michael Coates and Zbigniew Braniecki (Gandalf), Steering Committee: Debbie Cohen and Jim Cook

The above listed people, along with Dino Anderson and Dia Bondi (and then a whole host of people behind the scenes like Kate, Mardi, and outside contractors) shepherded us through the last month while we did 3 iterations on an agenda in order to get the results you’ll all see this Tuesday.  We held a TON of meetings with each other, in our small Track groups, and with our body of delegates from Paris. In our group, Purpose and Strategy, we kept circling back to the Nature of Mozilla (NoM) and how to best transmit that message so it can be held as the core of every Mozillian’s understanding of who we are, why we are, and what we do.  We’d have to ask ourselves: Do our sessions have NoM aspects to them?  If not, this isn’t the time.  The very core of what makes us Mozillian is the key to this experience because it’s at the heart of how we will move into the future with our new projects as well as continuing to properly steer our existing ships in the waters of the open web.

During this process of multiple hour-long or more meetings each week with some serious thinkers & planners at Mozilla, several things happened for me:

  • I worried sometimes that we had become too narrow, that as such a small group we weren’t getting enough input, yet at the same time I saw new, and very engaged people at the table taking on leadership roles and bringing up strong points. I had to trust that this part of the planning process (similar to with the Paris planning) was for the best and that we’d get the right pieces cobbled together – always with the larger group who will attend & participate in the final product foremost in our minds.
  • It was reinforced for me many times over how it is for me to participate in meetings that are over 30 minutes long. I’m really going to need to work on that for my own professional development and opportunities in the future.  I’m most definitely open to suggestions on how I can ‘game’ my own self to be better at meetings. In TRIBE we learned about the forms of listening and I’ve been aware of/practiced active listening for 2 decades but there’s something about meetings – the group factor, the agendas, getting off topic.  Perhaps some training in facilitation might help understand this area better.
  • At the beginning of our meetings Dino asked all the Track Leads to speak a little about how we work best and I stated that I always prefer *doing* and am at my best with a list of clear steps to take. While I still enjoy talking/dreaming big, at the end of a rousing brainstorming I need that list of “now what?” and it had better be clear what is expected from me next. This planning process was definitely done in a way that met & exceeded my needs in that area. I applaud all the people who are at the top of the accountability chain for the Summit on their skillful communications and guidance throughout the last few months.
  • I felt incredibly fortunate to be a part of the creation of this next milestone in our shared Mozilla experience.  We were *creating* a journey for (almost) all Mozillians to share.  Having these touchstones within a project is so important. Being at the table to dream up and then turn into actuality the plan for complete engagement, alignment, and inspiration of what will get us all to the next billion web users is a heady task and I truly believe we’re very much on the right track to providing a creative and engaging space in October that will change all of your lives in good ways.

At the end of our last agenda review, I was filled with excitement about our schedule:  Science & Culture Fairs, lots of Open Sessions, something called ‘Speedgeeking’ which I suspect will be like lightning talks, and then the overall story we’re going to learn about but also build into over 3 days. I’m sad that I’m missing almost 2/3 of Summit due to a prior commitment to the Grace Hopper Conference Open Source Day but I’ll join many of you on Saturday evening in Toronto and go deep Sunday so I can get the most out of it.

I hope this explanation of the process helps you understand how many people put in a lot of time to create what you’ll be participating in.  Please join us with an open heart to the goals of this gathering – whichever location you end up in – know that we brought in as many of your voices as we could, that we want more than anything for you to get as excited about Mozilla’s future as we’ve been while dreaming about how we’re all going to build it together, aligned and re-energized.  See you in October!

 

Women Hacking Glass – First SF community meetup

I’ve created an event for the first meeting of Women Hacking Glass in SF at the Mozilla public space.

Since I posted in G+ a few weeks ago things got busy and I didn’t have time to lean on Google like I’d planned to ask for hardware but then a pair of Glass practically fell in my lap when a coworker decided he didn’t want to be an Explorer any more so I wrangled a ‘donation’ to get his Glass in order to use them for community hacking with other women in the Bay Area.  I’m curious to see how the first meetup goes – what will we be able to create?  What kinds of feedback will we provide to the GDK developers who are working on the first version of a release?  What kinds of barriers will we hit with Mirror API?  I look forward to learning about everyone’s hopes and dreams for this exciting hardware and finding ways to hack our way to making them a reality.

Copy from the event invite:

Are you interested in learning how to make apps for Google Glass?  Don’t have the access to the hardware?

Come out to Mozilla SF and meet with other Glass Hacking gals to experiment with Android Studio, creating simple apps, getting access to Mirror API, and trying out your hacks on an actual pair of Glass that will be made available during WHG meetups for testing on.  Since there are very few people out there with the hardware, and few of those early adopter/explorers are women let’s work together to increase the numbers of women getting in on the ground floor for development (as well as being able to provide feedback to Google GDK developers) on this revolutionary new hardware.

There is a small (non-refundable) fee to prevent no-shows from taking up space – all money generated from this event will be donated to Mozilla Foundation via http://www.mozilla.org/donate

Prepare ahead of time:

* Have a google account

* Read https://developers.google.com/glass/quickstart/index and do as much of the pre-installation of tools/IDE that you can

* Think about your first app and what you want to learn to build

* Dream big, show up

For people who are interested in applying pressure to Google and showing them there are women interested in developing for Glass (the current Glass Developers group is easily 95% male) – go to http://www.google.com/glass/start/how-to-get-one/ and submit your request anyway, even though they say the waitlist is full.  My coworker can’t be the only person returning his pair and I trust Google will open more spots when they see a lot of interest.

Challenge: No more new clothes for one year

I need a place to record that on July 2nd I purchased the pieces for a tuxedo and took my lady out to the opera. At that point, and even before then, I’ve been realizing that I have _enough_ clothes, shoes, jackets, socks, underwear. There is nothing that I _need_ or am missing in my sartorial life. I’d like to spend less frivolously. I’d like to not contribute to the sweatshops that make a lot of our off-the-rack clothes. I miss thrifting outfits and I should really support the good causes that run thrift stores. For those reasons and others, I am going to try and make it one year without purchasing any more new clothing. I’ll unsubscribe from some of my favourite haunts so as to not get taunted by sales and new items. I think it won’t be that hard but we’ll see. July 2, 2013 was the last time I purchased a new clothing item. One year, here we go.

Trust Process

This is the first in a series of blog posts that will summarize my experience and takeaways from the Mozilla Summit 2013 Planning Assembly that took place in our Paris, France office on June 14-17, 2013.

✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈✈

We are a group of very smart people. Don’t ever doubt that for a second. We are a hit-the-ground-running bunch of doers who really like actionable items and clear instructions as well as accountability and deliverables. Oh and throw in some metrics and a post-mortem so we can iterate, please. This makes us very challenging for outsiders to work with, especially when trying to engage a sizable group in open process activities. Turns out we’ll ask a lot of questions to clarify instructions, search high and low for actionable items, and demand deliverables. We’ll interrupt process, we’ll doubt the value of the process, and we’ll assume even before attempting that it is too open-ended to be of value or to generate the tangible items we’re craving as the proof our time was well spent.

If we go too far down that path in this unconference style of meetup, we will lose out tremendously on letting ourselves be changed and engaged by each other.

Love it or hate it, asking each other “is this making sense to you?” or “are we doing it right?”,  that uncertainty IS a big part of process. Asking each other questions, being confused together, not knowing what’s coming next together is a form of bonding.

Bonding – which I shall refer to from now on as friendship – typically strengthens over equal parts of time spent together + common interests + shared experience. Sometimes you can fast forward a friendship by just overloading one of those areas. Having a particularly intense experience with someone (eg: riding a roller coaster), spending a lot of consecutive time (eg: traveling together), and connecting intensely on a common interest (eg: hacking) are all examples of ways to ramp up the development of a strong bond with another human. When attending a Summit we are provided a multitude of opportunities to have many of those three with a variety of Mozillians we normally might not interact with, and sometimes with ones we do – deepening connections is the ‘bonus’ to the work we get done when we assemble en masse. My most remembered experiences at Summits, All-Hands’, Moz Camp, and other larger gatherings with Mozillians have always been about the micro interactions which are not  part of the schedule. Walking to dinner, sitting on the bus, playing Rock Band – those are opportunities to look at the person or people around you and to try to make sure you’re getting to know even a little bit about them.

In the very earliest part of our process for the weekend of discovery and digging into the meat of what should drive our Summit planning a question came up about whether we could affect the decision to have the Summit in 3 different geo-locations.  Just that one little detail was something many people were tripping over and wanted to discuss and it was clear our dive into the weekend’s process would be held up until there were answers. What ended up happening was Mardi explained how logistically they had looked at previous Summits & large gatherings and had determined that 600 people seemed to be the largest number of Mozillians in one place where there still could be a ‘cozy’ feeling that allows for the kind of bonding previously mentioned.  Once Mardi said this, I was changed.  I, too, had wondered about the dispersal but now it made sense to me that the importance of connection between Mozillians had been placed before the need to put us all in one location and  I appreciated getting this new perspective on what the process had accomplished already.

Mitchell then spoke about how sometimes we get hung up on comparing one thing to another and are quite vocal if we find it wanting.  It’s important for us to have this gathering, this alignment exercise for the project as a whole, and if we don’t want to call it a ‘Summit’ because it’s not everyone in one physical space then call it something else in your head.  I found her point to be very inspiring and concluded that it’s important to go to this 2013 gathering – at whichever location – and BE there.  Do not waste time comparing it to other events, attend the event you’re at and reflect later. For me, this was when I knew I could trust the weekend’s activities would lead to great things and more changes of my tightly held beliefs I came into the weekend with.  There will be more about this in future posts.

Thanks, Process.

 

 

Creating a Mozilla workshop for beginner Hacking of Mobile HTML5 Games

Participants in the Mozilla Hacking HTML5 Mobile Games workshop at the 2013 Dare 2B Digital conference.

Dare 2B Digital is an annual South Bay conference that brings 300 young women ages 12-16 together to encourage them to consider STEM fields in college by coming together for a full day of inspiring talks and workshops showcasing women’s work and relevance in technology.  For the past three conferences I have signed Mozilla up as a sponsor and created a workshop that is run 3 times that day and reaches about 80-100 attendees.  Last year I created kits for participants to learn about soft circuit hacking and lighting up felt foxes, the year before I taught Universal Subtitles and Popcorn before it was even a 1.0 product yet. I’m always trying to keep our workshops current and, if possible, on the bleeding edge of whatever Mozilla is working on. The participants get a taste of one exciting aspect of what is happening RIGHT NOW in open technology.

In the past year I’ve been really inspired by Mozilla’s outreach around web literacy and at the same time there’s been all this work done around our upcoming Firefox OS for mobile devices that will allow apps to be built entirely of the web and installed/sold/shared outside of the silo-structures such as Apple’s App Store and Google Play.  At MozCamp Asia in November of 2012 I watched the Mozilla Taiwan reps showcase a fairly simple card matching game they had made of browser icons and they turned it into a Firefox OS installable app in only a couple of hours.  All of these snippets and ideas led to my proposed workshop for the girls being about hacking their own version of the browser-pairs game and installing/playing it on a Firefox OS device.

Now this was all before the Firefox OS phones even existed, and it was also before I went away on a 3 week vacation to Vietnam over the holidays.  I mentioned it to my co-worker Margaret before leaving and she said she’d be up for working on it with me but when I returned from vacation I lost about a week just on jetlag & minor flu-like symptoms then another on my birthday and having my family in from out of town.  Next thing I knew it was February 1st, the workshop was on February 9th, and I had NOTHING ready and there was no public Firefox OS device yet, either.

So I called up Ruth who organizes the conference and tried to beg off this year.  Would it be so bad if Mozilla didn’t do a workshop this one time?  Thankfully Ruth very calmly returned my panicked email with a phone call and asked me what I needed to get this workshop on track.  What did I need? Mostly just to buck up and finish what I started, me with my big mouth. The pieces were all out there.  I had code (thank you Mozilla Taiwan!), Chris Heilmann had recently posted some inspiring slides about HTML5 and mobile for Firefox OS App Days, and Hackasaurus has plenty of youth-focused resources.

Hastily, I organized a couple of lunch time meetings during the week leading up to the workshop with Margaret and we hashed out who would do what.  We made an exciting discovery in our first meeting, which was that we could host the game from a github page and this meant every girl in the workshop could hack on her own customizations of the game in github’s web interface code editor and see their changes reflected on a mobile device immediately.  No need to deal with the minutia of web hosting, no server-side code, and minimal development setup – the freshly imaged laptops we borrowed from Mozilla IT would be good to go in minutes!

I drove to Redwood City on the day of the conference with: 20 laptops, 15 Firefox OS test driver devices (thanks to my co-workers who let me borrow their phones!), and some slides about why hacking HTML5 is the future of mobile apps. One thing we realized as we were setting up was that there would be some delay between when the participants created their GitHub accounts and when they would see their github pages live with our demo code.  We ended up front-loading that and having them start right away as they arrived at the top of each time slot then going into the presentation after they had forked the repo which had the gh-pages branch set to default.  We later learned (through Margaret’s chatting with GitHub support) that it was likely the delay could be caused by not having edited anything yet on the gh-pages branch so in later workshops we had the girls follow along with Margaret and change the <title> of their index.html and commit the change.

Getting paired up, creating GitHub accounts and FORKING!

The presentation portion was about 10-15 minutes and started out with asking the girls to shout out what comes to mind when I say the word “HACK”.  Answers included “death row” and things along the lines of breaking or sneaking into someone’s computer, mostly things associated with dark or criminal activities.  A few did mention things like ‘nerd’ or ‘creative’ too.  When I showed them my examples for the talk we had a brief discussion about not asking for permission, being curious, creative, and taking ownership. After that we talked about Apple/iPhone and Google/Android.  Most of the girls had one or the other we explored how non-interchangeable they are, how much it might cost to be a developer for one or the other, the need to play by someone else’s rules in order to get your ideas out there.  My favourite part of this talk is repeating over and over how using open web technologies and the web itself is all about NOT ASKING PERMISSION.  You put your stuff up, tell people where it is, and they can go use it.  It can (and should) be that easy.

After the talking was done the young women had about 45 minutes to hack on their github sandboxes and test out making customizations to their matching game. We modeled it after Mozilla’s Thimble project which uses comments in the code to explain various areas of the code and gives ideas on what to change. Our take was to suggest they try (in increasing levels of difficulty):

  1. changing the background color/images (of the page, game box, card backs)
  2. changing the images on the cards when flipped
  3. change the music (few got to this part in the allotted time)

We saved 15 minutes at the end to do demos of what people did to their code and to come up and tell us what they did to achieve their end results.  Some of the customizations led to a newly themed game like pigs, magic, twilight, book covers, and other things the designers liked. A few girls went further and took snapshots of themselves on the laptop camera and used their own action shots in the match game, one girl had her own laptop and drawing tablet so she drew her own card faces and intro screen background, and another girl removed the card backs to make it look like the game box was all black – when I started to click during her demo and cards flipped I was surprised since I had thought the game was broken but she laughed and said it was on purpose.  It’s hilarious to me that she made a simple match game into a much harder challenge by hiding the discover-ability of the game.

LOTS of hacking going on here. Margaret and Larissa help out with question.

All in all the three workshops went smoothly, everyone got to do some hacking and see their results during the time we had allotted, and all the girls left with a new github account and code they can keep hacking and learning on over time.  During the course of the workshop we went around helping and answering questions and taught them about commit history, rolling back changes, and also using “Inspect Element” to figure out where to look in the code to make changes.  I should mention that at the beginning of every workshop I asked “Who here has touched HTML/CSS before?” and there were never more than half the hands in the room raised.  This comes up every year in the workshops I run. Some girls are getting this knowledge from parents, friends, self-teaching, and now things like CoderDojo (as one participant bragged) but there’s no indication that any of them are learning this in school where they spend a majority of their time. The thought that some girls are being left behind on this is sad to me, and I want to do all I can to help change that. Every single one of these young women left our workshop with a new spark in their eyes having now had first-hand experience with the power of creating web apps that can run on ANY WEB-ENABLED DEVICE. It was powerful to see.

So many new hackers of open source, mobile games.

So, what’s next?  I think this workshop should become another Webmaker and/or Hackasaurus project that can be taught anywhere, to anyone who wants to have a first-time experience with mobile app development.  We’re 80% of the way there, I’d say what’s left to do is:

* Code clean up (especially CSS) so that everything in the repo is clearly marked for its purpose and with comments on how to mess around with it. Specifically comments in the Javascript and exploration of that code – we didn’t touch this at all in our 1:15 hr workshops.

* Spend a bit more time, if you have it on basic HTML/CSS editing, using Inspect Element, and having cheat sheets printed up for participants.

* Have options for what to do next – getting off of github pages and hosting your own app, possibly with some server-side code.

It won’t take much to turn this into something more generic and useful for introducing people to the power of Firefox OS and HTML5 app creation and I look forward to continuing to develop this sort of material whenever I can. Thanks to the Desktop Support staff who prepped laptops for the conference, SF co-workers who lent their phones, and most of all to my coworkers who lent their time and their expertise: Margaret, Larissa, and Amy*.  Without all of you this would not have gone smoothly and because of you it was the best day of 2013 so far.

 

* At lunch we had a little Q&A with the 30 or so girls from the first workshop. They got to ask all of us questions about what we do and how we got there.  The four of us had such different paths & connections to technology. I love that we got to show these young women a variety of ways to engage with tech and to be in open source.

App Marketplace Ratings

Woot!  Our recently release re-vamp of Firefox for Android is climbing the Top Free chart over on the Google Play Store (as it should, it’s frickin’ awesome).  We’ve gone from #96 to #81 in the past 3 days and I have no doubt we will continue to climb as we gain users and get a chance to impress them with the Native UI which is responsive, beautiful, and support Flash.  Our rating in the store is also slowly climbing, but that’s going to be a much harder slog because our current rating still reflects the total collected in the entire life of this product being on the store.  We can’t remove ratings from our previous Firefox for Android and so even though we’ve had 5,000 5-star reviews in the first 10 days of the re-written version being online, our average rating is a 3.7. The only way to get a fresh start would have been to put up a ‘new’ product and call it something else and I’m sure you can understand that Firefox can’t go by any other name.

I spend a lot of time thinking about the Google Play store and how it could be better because I interact with its administrative backend regularly, uploading new builds of the mobile products release after release.  I was just sitting through a presentation by Dees at ReMo Camp 2012 in Berlin and he was sharing with us the strategies behind the Mozilla Marketplace. This will be our open-source contribution to mobile/desktop app distribution and seeing the mockups started me thinking about how we could improve the rating system and not just repeat what Google and Apple do with user feedback.

I’d like to see the following:

  1. User leaves rating, gives stars + writes text feedback
  2. App developer can select reviews to flag as ‘bug report/feedback’ which requires them to write text that will be presented to the user.  The developer can write a message either letting the reporter know that a bug is on file now for the issue or provide help with the issues/questions raised by the user.
  3. User gets a notification when the review is flagged and that there is a response ready for them. They can check out the bug report that got filed as a result of their feedback and perhaps they will cc themselves to know when it gets fixed or they might get a chance to try out the suggested solutions from the dev to deal with issues or questions they raised in their original review.
  4. User, now that they have gotten feedback, gets prompted to revise their review.
  5. Repeat 1-4 as needed

This would be beneficial for many reasons:

  • Users get to be a part of helping improve the product
  • Users get support from the developer without needing a different forum or login
  • Users get visibility into software development process, awareness of upcoming features & improvements, and they become participants in open source community
  • App developers have a channel to communicate with users about upcoming dev plans, feature requests, and bug tracking
  • App developers get a collected feedback average that is more accurate and representative
  • App developers have a channel to communicate with users about upcoming dev plans, feature requests, and bug tracking

I’m used to Mozilla’s collaborative environment, the values of open source, and I’m accustomed to getting feedback in our open bug tracker, Bugzilla.  There are so many companies whose products I use who do not have public bug trackers and this causes me a lot of frustration when I find bugs with their software.  I want to tell their devs about the bugs I find.  Software has bugs!  Have a bug tracker! Let people see and understand that software is a continuous improvement process so we get less reviews like this:

firefox feedback in google play store, lamenting the lack of tablet support

I’d love to let Brian know that we are sooooo close to having our tablet support ready, that we have a few outstanding bugs but it’s on-track to ship with Firefox 15 in a mere 7 weeks. We’re a tiny team compared to the Gopplesoft mobile dev teams, give us a chance to prioritize and push each goal to the finish line. With only 20% of our Firefox mobile users on tablets, we had to focus on the 80% small device folks first and then – remember, only 8 weeks later – we got our tablet ducks in a row and ready for our fabulous tablet users.

Alex should get to see a bug filed on the pinch zoom (if there’s not already one) and as one of the admins of the Firefox product, I should get a chance to interact with the folks who leave 1 or 2 star reviews since they are often based on one or two issues that are real but fixable.  I want our rating to be reflective of the work we do as we do it, incrementally improving over time. Of course, our marketplace code is open source so I suppose I should do what Paul Rouget suggested earlier today and make up some prototypes :)

Release-Mgmt: My First Beta from the ‘other’ side

Hello and welcome to my continued documentation off my learning curve in Release Management, something I’ve now been working at for 6 weeks.  Last time I was reeling from the new-to-me meeting/email/bugmail firehose.  Now I’ve got that more under control, having created many more filters and folders in Thunderbird as well as having a chance to do more work on the automated tracking emails script.

To continue to spread out the knowledge and tasks for release managers across more than just one Alex, last week I ran my first beta (Firefox 12 beta 4) and now I’m going to tell you what that involved because the bugzilla API is down.

Monday

Monday is about getting the queries down as much as possible.  This means making sure anything with Tracking?, approval-mozilla{beta,aurora,esr10}? is triaged and nudged further towards its final destination on the trains. We’re also needing to watch out at this point for riskier fixes, things that really need some bake time with actual users need to be landed for a beta4 since beta5 is more for low-risk regression back-outs and security fixes that need to land just in time for beta 6 (what is usually re-built as the appropriately branded final release).  At this point in the week there might be about 80-90 bugs we need to get sorted and at the end of the day only about 6 bugs were in the ‘really want this in beta 4′ list.

Tuesday

For this particular beta, we had been asked if it would be possible to give the ‘go’ to build earlier than usual because there was a fairly popular holiday weekend coming up (Easter) and our QA lead for this release was in Canada where Good Friday is a statutory holiday. The QA lead asked if we could go to build earlier so that a Thursday release of the beta would be possible. We confirmed with RelEng that this was do-able and agreed to do our best to get the ‘go’ out at an earlier time.  The plan was for everything to be landed by 2:30pm (Pacific) in order to have a changeset ready to fire off to Release Engineering by 5pm.

Going through the ‘burn list’ from Monday (6 bugs) mostly entailed tracking down people to land patches. There has to be a cutoff time for landings since it takes about 4 hours to get all the builds and tests for a push to the hg repo to report back completely. Note that improvements to build times are being worked on, case in point: faster Mac builds (newer hardware and using OS X 10.7)  take ~2.5hours off the normal Mac build times.

For one of the bugs we weren’t able to reach the dev and a volunteer committer found that the patch didn’t apply cleanly so that bug had to miss the train.  The others got in and I sent the ‘go’ to build Firefox 12 beta 4 at approximately 5:45pm (45 minutes later than desired).  All the results weren’t in yet for this changeset but I wanted to get a shot at making the request for earlier builds to QA so I took the risk that the builds/tests would be OK and we’d be already building when we confirmed that.  Had the builds/tests *not* turned out we’d have to scrap the chance at moving up the release window and one of our QA leads would have worked on a holiday to meet our ‘normal’ Friday release window.  So I took the leap (and this ended up being fine, though I wouldn’t do this again without good reason as it was a stressful call to make and it’s not a good practice to get into).

Right after the ‘go’ email was sent hg.mozilla.org went down and we lost 3 hours of build time.  This is not a normal result of giving the ‘go’ to build.  It was probably just because Hal was new to doing releases and I was new to running a beta so at least one thing had to come along and shake our confidence.

Wednesday

There’s not much (beta-running) to do on Wednesday except wait for Desktop & Mobile QA to do their thing.

Thursday

Mobile & Desktop QA send their results out – either signing off on the builds/updates or calling out issues. At this point QA signed off so at that point I could request the Release Engineer to push the updates to the beta channel (and upload a new beta apk to the Google Play Store). An hour or so later both QA leads signed off on the updates for the release that’s now live to our beta users.  After that, there’s just some product details to change for our websites to include beta 4.  We don’t do release notes per-beta which is good to know for when I run a beta 1.

Friday

Normally we’d be doing the push to beta channel on a Friday, so what would have been different was:

  • getting everything landed to mozilla-beta could have gone until later in the day
  • the ‘go’ to build email wouldn’t have resulted in immediate builds, they could start on Wednesday at the beginning of the Release Engineer’s day
  • QA needs two full nights of testing, so we’d get sign offs from QA on Friday morning instead – hence the push to beta channel (and store) on Friday afternoon

Nothing too crazy for my first beta.  I think beta 4 is a good one to start on – it’s not the “OMG last call!!1!” beta before a release and it’s not beta 1 where any fallout from our merge of mozilla-aurora -> mozilla-beta shake loose. Having done a beta release now,  I have a much more complete mental map of how the 6 week release cycle plays out for Release Management:

Multiply by the above by 6, sprinkle extra bug & meeting communication cycles to weeks 1 and 6, throw in twelve channel meetings, approx 30 more iterations of various queries triage to keep our tracking lists up to date and to know what’s really needing attention vs. what’s taking care of itself.

A ton of email/irc/automated notifications all with the goal of keeping tracked bugs moving forward and you’ve got your 6 week result: A fabulous new Firefox release.

Thanks for reading, more about automatic emails & wiki updates soon.