morgamic.com stuff and things, according to Mike Morgan

10Jan/06Off

AMO Movin’ On Up

movin' on up!!!

2006 brings some awesome news for AMO. There have been many meetings and discussions with MoCo about the progress of AMO, and it has all been very encouraging.

We have taken steps to speed up development by contracting with programmers, and there is more of a project management presence. Overall, things are progressing very well since the Firefox Summit gave us a chance to get together and talk about everything.

In December, mconnor and I discussed a schedule and what we really needed to get done. Getting everything out on the table was important, and it made the rest of December more productive. We accomplished the following since then:

  • Reconfigured and cleaned up addons CVS
    • Split public and developer tools into two separate applications
    • Removed Smarty from CVS, since it should be managed on the server level
    • General house cleaning on unnecessary files or directories
  • Migrated new template
  • Migrated search-engines page, started on recommended (getting started content)
  • Implemented Smarty's caching capabilities to improve LVS node performance and noticed a great perf gain
  • Fixed all the stuff that Smarty caching broke :)

The upcoming month will be a time to focus on a re-release of the public-facing side of AMO. See the TODO list and the tentative schedule for more on what's going on.

There are also some important things to think about as we approach this next version:

  • How can we better utilize the community to moderate comments and addons?
  • How can we make the site simpler for the average user?
  • How can we make site content more community-driven?
  • What can we do to make the review queue smaller without sacrificing QA?

There has been a lot of valuable discussion about these newer features/needs. Please chime in -- join #umo and discuss it with me or anyone, or add your thoughts to the wiki.

There have been great thoughts about comment rating and user moderation, using "trust metrics" in order to determine the overall quality of a given extension, and making a Digg-like interface for deciding "what's hot" on AMO to encourage user participation in the site.

2006 is going to be a better year for AMO, Mozilla and Firefox.

Filed under: Mozilla, OSL, Technology 4 Comments
21Dec/05Off

AMO Year-end Summary

During the Firefox Summit, there was a lot of healthy discussion regarding the immediate future of addons.mozilla.org (AMO). We came up with a solid plan and timeline for top-priority items. The general idea is:

  • Split public and admin pages into two separate appliations.
  • Re-use core libraries, store them in a separate place in CVS.
  • After the rewritten public site is re-launched in January, start development on admin CRUD pages and inremental rewrite of all developer tools.
  • Profit! (just kidding)

random picture

The topics covered in the AMO breakout session ranged from standing problems, project overview, and additional resources needed to improve progress. I think it was a valuable discussion. Mostly I was happy that people recognized the importance of AMO. I left the room with a much better feeling about the future of the project (and also the knowledge that I need to work on my public speaking skills).

That said, I'd like to talk about why AMO is actually so important, because I don't think everyone truly understands how vital it is to Firefox and Thunderbird, and consequently the entire Mozilla Foundation and Corporation.

It comes down to feature coverage, really. Most projects can hit 70-80% of the core feature requests. Firefox or Thunderbird don't differ from this norm -- Mozilla as an organization can only get so much done until they have to make the decision on where to draw the line for the next release. At some point project managers have to say, "Ok, these features are the most important and they will be what we focus on. These other ones will be slated for the next release, or whenever we get to it."

And it's not something unique to Mozilla -- it happens everyday in projects across the world. The key, though, is managing what happens to the other 20-30% of the features. You might want to read a Wired article passed to me by Scott Kveton called The Long Tail -- it explains the concept in more detail.

Successful projects today realize the value in developing for the developer -- empowering the community to improve the application on their own. And I think that so far we have hit the tip of the iceberg in terms of getting a return on the ingenuity and open-mindedness of the general community.

We are already seeing a trend in more popular projects like Flickr or Google Maps where these services kick ass and deliver some awesome features just out-of-the-box, but what makes these apps _really_ special is their APIs. It's also what makes Firefox and Thunderbird so special.

Coming down the pipe we are starting to see uses of these APIs that are mind blowing. With Katrina we saw an interesting use of the Google Maps API to report area status updates in Louisiana. On AMO we have seen some awesome extensions that have actually been integrated into 1.5 because they were so, "Duh, we should have done that from the beginning".

For Mozilla, AMO is the playground for the determined user to do their thing and get exactly what they want to get out of their web browser or email client. It covers the extra 20-30% and best of all it benefits the product, the community, and the world (yeah, melodramatic, I know) by improving an already sound base of features.

Over the past year I've developed an appreciation for the importance of AMO. I've learned about its challenges, all the players involved, and hopefully we've come up with a solid plan for 2006. I'd like to see us provide a better tool for the community to develop, submit and distrubute great ideas. With that in place, Firefox and Thunderbird will continue to have a community-centric family of extensions that sets them apart from all competitors.

Oooh. Shiny.

Filed under: Mozilla, OSL, Technology 3 Comments
15Dec/05Off

The Value of Face-time

At some point I inevitably hit a wall and need to bounce ideas off someone. IRC and other forms of chat work great. I can ping someone and get a quick answer, or at least get a RTFM or RTFW.

blank face with a question mark

Often times, though, the quick answer or linkification doesn't make things abundantly clear, and the solution to my problem is still rather fuzzy -- and not the good fuzzy -- the bad fuzzy, like hangover fuzzy.

So Google doesn't hold the answer, or at least not in a form I can understand. The server guys who know everything have no idea wtf I'm talking about, so I'm stuck. What I need is a whiteboard, pens of different colors, and a 12-step program from someone in the project who knows what the hell is going on.

It's a part of working with a team. You learn and build off of your teammates for certain things, and you help them grow in other areas as well. It's complimenting strengths and weaknesses that can make the whole greater than its parts. The whiteboard discussions, and the shorter pen-and-paper talks can remove the bad fuzziness and replace it with clarity.

In addition to providing a solution, these discussions (usually, anyway) form great relationships between team members and can help open new paths of communication. They can also lead to healthy tangets and the inevitable brainstorming that follows.

In a way, all this sounds like what friends might do. Sounds great, right? Well, hold on. I have a point here somewhere...

Whiteboard or pen-and-paper discussions don't always happen for people who work together on open source projects. They take place in cyberspace, and assume many forms, but don't ever match up to face-time. As a result, I believe projects can really suffer without face-to-face interaction between contributors.

So we are left with technology to fill the gaps between us. The first problem with this is the waiting -- five, ten minutes -- maybe hours, maybe days. In the meantime our problem ferments and makes us dream code or leads us to beer as an escape (yay!). The problem isn't solved right away, if ever, and progress hiccups.

The second problem is more about human interaction. You simply can't build rich and complex relationships between people through IRC, newsgroups, AIM or emails. Sooner or later you have to take the extra step to meet these IRC handles, emails or nicknames and place a face on them. Why? Because great projects are fueled by great face-to-face relationships.

This brings us to what I'm doing right now. All of my current projects are done remotely in collaboration with people who are mostly in a different time zone and sometimes on a different continent. December has been an eye-opening month for me because I've gained an appreciation for how many people are actually out there.

Over time you start to get used to the email or IRC buzz. Names are all over the place, and sometimes you lose touch with the "who" and concentrate more on the "what" and "when". So having the chance to visit Mountain View and meet almost everyone I've talked to about anything regarding Mozilla and heading over to Tucson to meet the Kuali team has meant a lot to me.

It's more than the warm fuzzy (the good fuzzy) feeling I get from meeting everyone in person and hang out for a bit after work. The positive vibe is also reflected in terms of productivity. We get that chance to voice our concerns and know that everyone is listening. We get time to sit in front of the whiteboard and hammer things out. We take wild tangents, have great discussions, get pissed, laugh it off, come up with a plan or solution, and feel great. And oh yeah - we all get a chance to listen a lot, too. :)

My second week on the road is quickly coming to an end. When I get back home I will have driven a total of 2200 miles and flown for 600 miles. Getting to meet everyone, listen and learn from them, and work on building a plan for the future of our projects was well worth the trip.

You can't send a human being through a wire.

Filed under: OSL, Technology 2 Comments