The Mozilla System Tray Icon
I’ve didn’t have time to blog anything last week since I was so busy implementing the system tray icon for AllPeers. The idea is that Firefox (and therefore AllPeers) will keep running after the last browser window is closed (but not if you quit the program using File/Exit), with a small icon in system tray like so:

This makes it possible for people to leave AllPeers running without having a browser window cluttering up their screen. It also gives AllPeers a tiny piece of screen real estate all its own, even when the user is using another application, which could be used, for example, to drag and drop files for sharing without having to activate Firefox, open the AllPeers Navigator, etc. All very cool stuff, although hardly earthshattering since all instant messaging programs already do something similar.
The really interesting thing for me was that I contributed my work to the Mozilla project as part of an existing bug, which had already benefitted from the efforts of Mark Yen (author of the MinimizeToTray extension), Daniel Glazman and others. Besides the obvious appeal of “standing on the shoulders of giants,” this means that the code should eventually find its way into the Mozilla core, making it one less thing for us to package, distribute and maintain. Hopefully it was also attract future contributions, such as multiplatform support (my implementation is Windows-only).
But by far the most striking thing about this experience for me, as my first substantial contribution to any open source project, is that people actually took the time to read and comment in detail on my code. Daniel, in particular, did a line-by-line analysis as part of an official review. This may be the secret sauce that makes the open source development model so tasty. Software vendors pay lip service to code reviews and even “pair programming”, but I suspect that very few actually do this consistently. In the open source world, code reviews are essential since far more people are making contributions. And you wouldn’t let someone walk in off the street and check code into your precious masterpiece of software engineering, would you now?
I’m therefore more determined than ever to move AllPeers towards a Mozilla-style programming methodology, despite the fact that we only have six programmers right now. Even if you don’t have a community and you aren’t releasing your source code to the public, I see many advantages in having developers propose patches for review, rather than checking in their code willy-nilly and having QA bash on it in the hope of unearthing bugs. The fact we intend to open source AllPeers in the future naturally strengthens my resolve.
13 Comments »
Trackback URL RSS feed for comments on this post. TrackBack URI
Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>







AllPeers will continue to run when you close the browser? Does this mean that an instance of Firefox will remain in memory?
Do you have an updated version of the “things to do before final release” list?
Comment by C. Ovidiu — 5/29/2006 @ 7:45 pm
Whoops… I guess I shouldn’t have skipped the first paragraph.
Comment by C. Ovidiu — 5/29/2006 @ 8:45 pm
Sorry, but I don’t have still an activation key. I’m waiting from “6.4.2006″ (excuse me for my English - I’m not English
Comment by PetrTwo — 5/29/2006 @ 10:03 pm
There is good and bad in the review process we have, but overall the whole project benefits greatly from it. And contributors learn a lot, I learnt a lot and still learn. Of course, it can be sometimes hard to deal with such a process in a commercial context.
Comment by Daniel Glazman — 5/29/2006 @ 10:08 pm
Open source Allpeers is very cool idea and could accelerate your development cycle…I am all for it, maybe we can see general beta and open source at same time?
Comment by Brian — 5/29/2006 @ 10:16 pm
How is this going to interact with the infamous firefox memory leak that has received so much attention lately? (By the way, I’m also still waiting for that little blue and red icon to grace my taskbar!)
Comment by Dylan — 5/30/2006 @ 1:40 am
Dylan, the FF memory leaks is a nearly virtual term, since most of the leaks are caused by extensions themselves. Anyway, The feature sounds good. Pity, it’ll make into AP compatible with FF 3.0, based on XULRunner, and not now.
Comment by funTomas — 5/30/2006 @ 11:44 am
funTomas - regarding the “memory leak” you’re exactly right.
Also, I should have been clearer about this, but this feature will be in the next release of AllPeers. Since FF doesn’t support it yet, we’ll include the necessary code directly in our extension.
Comment by Matt — 5/30/2006 @ 1:17 pm
Brian - going open source is a really big effort. Our focus is on getting the product out. We’ll tackle the open source thing afterwards.
Comment by Matt — 5/30/2006 @ 1:18 pm
umm… isn’t grouper http://grouper.com/ basicly the same thing?? If not what are the differences??
Comment by me — 5/30/2006 @ 9:17 pm
The big diff might be you don’t have to upload to websites, all contents are on your own computer. That’s p2p all about, sharing/swaping directly from buddy computers.
I can be wrong, still waiting for beta release/invitation…
Comment by Brian — 5/30/2006 @ 10:22 pm
I imagine that the slowdown in blog posts and in posting on the support forums is because of a big push to get the product out, which is great. Looking forward to the next version and the system tray icon!
Comment by Michael — 6/1/2006 @ 7:58 pm
Well, maybe they all glue to TV set for upcoming world cup…Is Czech also in the tournament?
I hope they can come across the finish line end of June.
Comment by Brian — 6/2/2006 @ 3:08 am