Simon’s Developer notes: On the importance of communication

Yesterday we had a pretty interesting developer conference call, which was basically about the issue that only a very small team is currently developing on Lightning and Sunbird (basically just three people), that it is hard to reach community expectations with regards to bugfixes and feature work with so small a team and what would be necessary to attract more outside developers.

From my point of view one of our shortcomings in the past has been on the communication front. With that I don’t mean the communication between different people on certain bug characteristics or code issues (that works great), but the communication between the calendar project and our community.

Currently our channels of communication are:

  • This blog, which just gets a post every one to two weeks with a bug fix status update
  • our developer and support newsgroups (mozilla.dev.apps.calendar and mozilla.support.calendar), which are not exactly buzzing with activity
  • IRC, which not many people are watching

The result – at least as far as I see it – is that

  • the core people from the project come across as a closed circle to which it is hard to get in to (the opposite is true)
  • what’s going on in the project is not exactly transparent. Instead I would call it opaque.

So what can we do to improve our situation, to make the project more transparent, to raise the interest in the project and by that to gain more outside contributors? A few things come to my mind:

  • We need to talk more about what we are doing. Therefore every core contributor will try to commit himself to at least blog about various stuff at least once a week from now. These posts will probably range from developer-oriented topics (interesting or disgusting pieces of code, recent bugfixes, UI considerations, QA problems/successes/challenges) and project-related topics (PR issues, community relations, …) to basically anything that the people find worthwhile to blog about.

    In my opinion a great example to follow here is the Firefox community. Where nearly everybody involved in the project (developers, build engineers, QA staff, PR and marketing people, management) tries to blog regularly about various Firefox stuff or other stuff that interests them. The outside image that this creates is the image of a beehive, where everybody is doing lots of stuff to improve Firefox and in my opinion stuff like this also attracts outside people, because everybody would like to contribute to a project that is alive and well instead of a project that is stalling or dead.

  • We need to raise the awareness of the project in the outside world. I’ll try to contact a few people to get some press contacts, in the hope to do some interviews with some people interested in open source. We hope that this will raise the awareness of Lightning and Sunbird and bring in outside contributors.

So these are my ideas. I would be interested in getting feedback and suggestions from you. Do you have more ideas to attract new talent for the calendar project? Is my analysis correct or do you see other areas that we could improve on? I would love to hear from you on that…

27 comments

  1. One thing I’ll say is that I’ve tried using the #calendar irc channel for various things over the years, and just about every time I’m told to go to the newsgroups or otherwise told to “stop talking in here.” It’s the only channel on irc.mozilla.org I’ve used (and I use many every day) that doesn’t encourage discussion related to your project.
    Second, we should talk and see if there are some good projects for the fall that my students could do for you guys. If you’re open to mentor some work there, I’d be happy to get a few people involved in calendar stuff.
    Dave
    BTW, I use your software every day.

  2. Peter Pennington

    I’m sure the calendar project would benefit from easier input from users and especially testers. Firefox benefits by having a good catalogue on daily changes provided by Peter(6). This in itself generates the buzz you refer to.

  3. i love the calendar-project and would be very glad to get more news on it. I’m no developer, but i would participate by giving opinions or error-reports as a user, if it’s not too difficult. I would like it, if (for users) there would be ONE place to look for news (this blog is nice, your idea about increasing the input here is great!) and ONE place to give feedback (a forum or something? Easy to find, easy to use?).
    Thanks and keep on the good work! You’re my light in the outlook-darkness! :-D

  4. Dave,
    first I apologize for the cases when one of our crew didn’t appreciate your input. We sure do and I hope you try again. Regarding mentoring some student projects, I’m sure that our developers would be willing and able to do that. Perhaps we can schedule some kind of a meeting in IRC and discuss this or if you’re perhaps on the Mozilla summit we can talk about this there.
    Peter,
    we haven’t nearly as much changes on one day as Firefox has. The status update here on the blog is my attempt to do what Peter(6) is doing for Firefox.
    zakoon,
    we have a Calendar forum on mozillazine (see http://forums.mozillazine.org/viewforum.php?f=46)

  5. I really like the project and this blog.
    Your ideas sound good.
    Suggestions (maybe :-) ):
    – David Ascher (Thunderbird) also has/had this issue => Stay in contact with him on gaining more people and more attractions. Combine your efforts.
    – Establish wiki, tutorials, screencasts with “How you can contribute to the project”
    – Start polls about the influence of the project (how many people are using this, what is the estimated saving of time,…) => these statistics can be shared with partners, community, press, stakeholders, …
    – Start polls regarding usability and wishes of the community => prioritization of development tasks
    – Cooperate with Google Code Summits ?
    – write PR-documents and create screencasts to highlight the project
    I think the project will get a lot more attraction with thunderbird 3 and calendar integration
    (my mostly requested feature is:palm sync :-) )

  6. Hi Lightning people,
    i love lightning and i hope this project is moving forward. I am using lightning since 0.3 more or less seriously. But all the time i missed communication at all between the project and the community. This blog i found some days before. Before that i didnt have any information about whats going on with lightning.
    So here are my wishes:
    – a no-nerd real support for community: e.g. discussion forum
    – a roadmap
    – a kind of poll for wishes
    – a readme for updated nightly builds
    And all those informations should be easily accessible.
    If lightning is getting known you will get interested developers.
    Kind regards,
    aVe

  7. Michiel van Leeuwen

    Simon,
    Thanks for posting this blog. I agree with the problems you are sketching. It’s easy to get the impression that nothing is going on. I think the reason for that is that most status updates (on this blog, on irc and in bugzilla) only happen when a bug is fixed. But there are no updates about which bugs are being worked or, or what the progress of a bug is. All you see is mostly patch drops.
    In order to get more developers etc involved, I think the project need to get over some hump. The current group works fine, most of them share an office. But for outsiders, it is hard to follow. Once a few more developers get involved, I think the current group automatically will communicate more (with the new devs). At that moment, it’s easier for more devs to go in. It would be really cool if Dave and his students could help with that.
    Dave, if I can help somehow, please let me know.

  8. Don`t get depressed. I don`t know how to contribute but giving you some cheers. I use your products for many years now.
    A bit more publicity on the Mozilla site would certainly help.

  9. Hi,
    I don’t have much advices except that If you would like to open a facebook fan page for th eproject, I would join in (please link to it from this blog).
    Also, I am using the calender (togather with google calender) for some time, and am very happy with it.
    Yet I feel I would like to have more features and request added to it, and I still don’t have any clue as to where to post them :(
    (for example – I would love to be able to create an event from the an Email just by one click, that will take the Email content into the event details – this way I can transform “task Emails” into something on my schedule – more easily)
    Thanks a bunch for your work,
    Regards,
    Tal. (from Israel)

  10. Some sort of communications besides IRC would be nice. IRC is a very traditional unix-type of communications methodology. I think that you would have better luck attracting Windows developers if you used something like webex or even Yahoo Messenger for communication.
    Most younger developers with less than American Bachelor degrees, or the equivalent, only know how to do Windows stuff.

  11. I like the idea of a discussion forum that is mentioned above too!
    I know a few hobbyist and some professional programmers. Most don’t know or understand cvs or subversion or IRC because they’ve only been exposed to microsoft visual studio, which uses a vastly different development methodology than the *nix side of things.
    Also, most regular users who would like to provide bug reports, etc. don’t want to wade through geek-dom to make their suggestions heard.
    With all that said, however, I want to be perfectly clear that I truly appreciate the features and flexibility of Sunbird (and Lightning — although I’ve never been a big fan of having email and calendar melded together). Thanks for all of your hard work!!!

  12. robert fabian

    hi,
    i need a pim/calender that synchronizes with my mobile phone. I believe many others do too.
    in fact, this is the only reason for me to buy microsoft office – nokia pc-suite only synchronizes with outlook.
    this might be a nice project for david’s students. nokia beta also labs seem very supportive of small projects.

  13. You could maintain a list of bite sized features that a would-be contributor could review. This way people could commit to one or more items on the list, and perhaps start with baby steps, getting into the code base. This would help with Daves offer and other such resourced. I would like to help, but do not even know where to begin.
    Perhaps a nice marketing website would be good as well. List benefits vs competitors, etc.
    Cheers…

  14. i robert fabian,
    google “master mobile” :)

  15. HI Guys
    I follow the weblog and check it maybe 2 or 3 times a week to see if any news worthy features have been dropped into the code.
    I’m a hobbyist developer, and I’ve played slightly with mozilla stuffs – Where I work we have a mainly windows setup connecting to an Apple server. We started using the CalDAV calendars on peoples machines which involved a complete migration from Outlook to Thunderbird + iCal Server (+ IMAP email from POP based email server). I’ve written a thunderbird plugin to simulate Out of office responses using sieve, which works quite well.
    Having never done any development for thunderbird (I do some Websites, so PHP, js and HTML etc is pretty much all I’ve done), I found documentation lackign, especially when it came to using sockets for connecting to sieve, and most of the documentation I found was oriented for firefox. This was frustrating to say the least.
    The idea of jumping into the calendar source code quite scares me. There’s no real documentation on where to start or an explanation on where anything is. I think developing this side of things would really help with getting outside contributors, and I might even look at contributing myself.
    I think what this rambling is trying to say is, getting started seems like a daunting task. Improvement is needed here.

  16. When I look for open source projects, the way I gauge the ‘health’ of a project is if it has the following:
    -Main website with the following: a clear definition of what the project and goal is (on front page), links to documentation and downloads, screen shots and product walk-throughs, and links to the following community resources.
    -Blog which is regularly updated and integrated into the main website (RSS is a must).
    -Community web forum which is active or at least quickly responded to by the project members.
    -Project wiki which is cleanly organized and which addresses a healthy range of topics.
    -IRC with regular activity and quick responses.
    -Newsgroup(s)
    I’d say that the Calendar team falls short of this list in a couple ways:
    -Does not have some of the items listed.
    -The items that you do have are disparate and lack a common identity or overall cohesiveness.
    I’d say the first step is to make a Calendar project/product website with a clear project identity (ie: logos and messaging) and begin to tie the pieces together. It’s okay to still have disparate pieces, but the traffic needs to go through the main website so the community is exposed to the overall project activity and available resources.
    Just my 2 cents.

  17. Some open source websites that I feel do a good job with the items I listed above:
    Songbird:
    http://getsongbird.com/
    Filezilla:
    http://filezilla-project.org/
    VideoLAN:
    http://www.videolan.org/
    Audacity:
    http://audacity.sourceforge.net/
    Pidgin:
    http://www.pidgin.im/
    WinMerge:
    http://winmerge.org/index.php
    And also, some other items I forgot to mention from above:
    -Access to bug database
    -Donation links
    -Feature request form or database (could be the same as bug database)

  18. Well, I guess Daniel answer on the newsgroup has already ruined the tentative on trying to communicate more!
    The other way of doing it is to expose detailed goals per release including target blocker bugs fixing, new features, interoperability test criteria for validation and so on.
    This way, people would, at least, know what to expect when, if everything goes well. If, each time, goals are missed then this will also be an indication about what must be changed.

  19. More communications would be nice but one blogposting per developer per week is a lot to ask imho. Once per month per developer would be really nice already.

  20. I agree with Caleb above. Lightning needs a coherent identity. A single website that is obviously the “offical” place for all things Lightning.
    Then, you need a clear description of how to get involved in the development. Contact information. An active blog and forum for communication. And DOCUMENTATION! I realize that this is a LOT of work, and frankly may not be worth it.
    It would also help if Thunderbird didn’t seem a bit like an orphan as it seems to have been kicked to the curb by Firefox/Mozilla (Which was a bad idea IMHO). Sadly, the development process has been so slow that I am forced to be absorbed by the Borg and implement MS exchange.
    And, lastly lightning really needs to be able to sync with mobile devices. I think this should be priority #1 once the .9 release is complete.

  21. Hi,
    I do check this blog and it does seem as though stuff is happening and I really appreciate what is being done. There are also some good ideas above for ways of attracting interest. I also think that attracting new develops is somewhat different from attracting interest.
    My main comment would be to speculate (without wanting to offend) that you may not be attracting more attention because the product hasn’t got a catch that is drawing in particular interest groups.
    Eg a number of people have mentioned device syncing (eg phones and palm) because this is a real hassle for many people with existing software. If sunbird/lightening solved this problem for a group of users I’d expect there to be more of a buzz from this particular group of users (which is potentially large across operating systems). At the moment this has been put off into the distant future so this groups isn’t engaged.
    Maybe you need to analyse which calendar ‘problems’ you could solve (quickly) and consequently which ‘interest groups’ you could bring on board.
    On OSX Sunbird (thunderbird) is pretty slow and replicates ical which isn’t going to get to many people exited. But, for example, you do solve a problem for me because it is easier to share .ics and google calendars with sunbird so I’ve given it to a couple of people at work.
    There are markets where sunbird should be really attractive – i.e. people who don’t want outlook or evolution. But you are not being pushed by Ubuntu and others.
    You possibly need to be marketed as a PIM suite with the calendar being supplemented by a decent address manager and a task/project manager.Tight integration with email (Thunderbird) too. (I saw an idea recently about linking/making emails to tasks and think this would be huge). This really would solve a whole set of problems for people especially in syncing with external devices was possible (every mobile phone sold these days is capable of syncing – if only there was something decent to sync it to).
    Apologies for the ramble (and I know that this is a chicken and egg problem), but I think that these substantive issues have as much or more impact that marketing.

  22. Hi,
    in my opinion, to get in contact with intersted people (useres, not neccessarily new devs) a forum is a must.
    That’s the fastest and easiest way to get input for new features and improvements for the actual development and, for users, an easy way to get help for proplems and other issues.
    Integrating this in a official Lightning/Sunbird website would possibly focus the interest a bit more.
    Btw what are the plans for Lightning 1.0/Thunderbird 3.0? Do you team up with the thundebird dev-team then or how is your collaboration going on/changing? (TB documentation on that is not existent at the moment)

  23. I also support the idea of setting up a Lightning/Calendar website (as opposed to separate blogs etc.). Of course the 1st issue which comes to my mind is that setting up and maintaining such a website would require considerable resources in itself… Nevertheless, it would certainly raise the profile of the project. Lightning is the most important Mozilla-related project in my opinion, so could be worth the effort…

  24. I agree with Scott Aubrey and Caleb.
    I’m a spare time developper, and I tried to get in sunbird few months ago… What I can say is :
    The documentation exists but is either “out of date” (http://wiki.mozilla.org/Calendar:Dev_Guide) either in so many places that you can hardly find the thing you are looking for… (XUL reference, JavaSCRIPT reference, CSS reference, Calendar:Hacking, etc…).
    Furthermore, I still can’t believe every dev is using notepad++… (see “Getting the right tools” in “Calendar:Hacking”). I’ve been looking for other solutions to make xul dev, but i found nothing really usable. Actually, I’m wondering how firefox devs are doing…
    So, as Scott, I found it very scary to get into sunbird source code, and as Caleb, I think a website with every information needed would be a great thing.
    My two cents…
    _Tof_

  25. I think the primary item that is keeping Thunderbird/Lightning from becoming more attractive to users and the press and would start a buzz is the fact that it can’t sync with anything and the implementation of syncing is left to somewhere in the distant future (2 years from now? 3 years from now?).
    I agree with the post above, if you can nail syncing with devices, yahoo, gmail, whatever item, as priority 1 and make it work. You will attract attention, dollars, and press. And, quite frankly, on the Windows side of things, a calendar and email client aren’t considered high quality or professional until the product can sync with things. On the Window platform, at least, syncing should be easy because the evil empire of Microsoft has a well developed system API to allow devs to program the communication.

  26. I personally want an easy way to gauge the main areas being worked on for the project. A forum or frequently updated wiki helps, in addition to the blog. A forum would also allow users to provide valuable feedback in a manner that would be easier to evaluate than blog responses.
    As an enterprise user, my main needs are easy shared calendar access. CalDAV, iCal server, and attendee conflict resolution. A complete (and easy) set of scheduling capabilities is important, too. Synchronization to mobile devices is important, but with shared calendaring I can offload that to the server where it belongs.

  27. I think we should all be thankful that there are these people out there developing such high-quality open source software. No Microsoft ‘products’ of this calibre would be this free and open to public discussion and input.
    I agree with most of the constructive criticism posted here. All the awareness-raising and user-integration ideas are very sound. I hope the core three can get their thinking caps on to work out what is possible and what the priorities are.
    I’m just starting to be a hobby programmer, and would love to help with this kind of development, though I can’t see me having the time to do it properly for a while (especially seeing as these tools are supposed to help one manage time, instead of eat away at it!). I haven’t even installed Lightning yet but am very excited about giving it a whirl and seeing what all the fuss is about.
    A big pat on the back to those dedicating their time to progressing this kind of venture (even to those bothering to read and post to this blog). Keep it up, one and all!
    Namaskar,