Jul 12

Please Test: Print Support in Lightning 1.7b3

Hello Folks, I have a favor to ask.

Update 3: Lightning 1.7b2 contained an error related to printing that has been fixed in 1.7b3, which I have uploaded on 2012-07-29. Please update before testing!

Among some other things, print support has been broken in the nightly builds since about May, when Mozilla did some changes in the XPConnect layer. The effect of these changes were that we can no longer use e4x, a standard to make use of XML directly in Javascript. I have taken care of most of the fixes, but the one bug that has been outstanding a bit longer was the one to fix print support.

I took the chance to revamp the internals of the print layouts to make it easier to extend them. This opens up more possibilities to extend print support in an extension. The problem is now that we needed to land this directly on the beta channel so that print support is not broken in the 1.7 release.

I have just uploaded a new beta containing the patch, so please take a moment to test it with the Thunderbird 15 beta. These areas need testing:

  • All print layouts: List View, Monthly Grid, Weekly Planner
  • All combinations of options, i.e tasks and events, only tasks, only events
  • Make sure the (time) labels on the events in the print preview is correct
  • Different kinds of tasks (with start date, with end date, with both)
  • All importers and exporters (ICS export, HTML export, …)

For testing you will need Thunderbird 15 beta and Lightning 1.7b2. For Lightning, you will get automatic updates if you are currently using Lightning 1.7b1 or 1.7b2 If you haven’t downloaded a Lightning beta yet, be sure to open the Developer Channel box at the bottom of the page.

Update: You will also need a new copy of the Provider for Google Calendar, if you are using it. Get it here.

Update 2: Lighting 1.7b2 contains an error related to printing that will not show the print view.


Jul 12

Prospect on Lightnings Future in Light of Thunderbird’s Governance Changes

Many of you will have heard the misinterpreted news that says Thunderbird will no longer be supported. First of all I must concur this is not true. If you are still under this impression please read this great interview between Tristan Nitot from Mozilla and Jb Piacentino, the Managing Director of Thunderbird. Mozilla will continue to support Thunderbird, but new innovations will have to come from the community.

Even if it has not been obvious in the past, it has almost been this way for Lightning since 2009 when many of the external full-time contributors were assigned other projects and could only continue in their free time. Aside from my role as a project manager, we have a few contributions from the community, bringing Lightning forward. Since our contributors also have day jobs this is of course not comparable with full-time work, but we couldn’t have done it without them.

In this early stage of planning Thunderbird’s transition to the community its hard to say what the final effect on Lightning will be. But on the bright side, if the current plan holds that future Thunderbird releases will be based on the same Mozilla Platform version as the ESR Release, this will make our life much easier with regard to Lightning releases. It is much more likely that a Lightning version will be binary compatible to multiple Thunderbird versions, which means the big pain of upgrading that Lightning users might be having when a new Thunderbird version is released will go away.

On the downside, since the core Thunderbird team is now assigned to other projects also, this means they will (understandably) have even less time for Lightning. Key areas include Graphics Design, build configuration and release engineering.

There might also be problems when Thunderbird switches to a later version of the Mozilla Platform (i.e around Thunderbird ESR 24), since Lightning will have to catch up with anything that has changed on the Mozilla Platform between version 17 and 24. This could be a serious undertaking since even if we do patch everything we know of for Lightning to work with Thunderbird 24, its quite likely that there will be regressions which will require out-of-plan releases to fix. Not only does this mean that Lightning developers have to work non-stop during this time, it also causes pain for the users since its possible that they cannot access their calendar data until there is a new release to fix possible regressions.

We are still looking for solutions that could mitigate this, one suggestion that has been made would be to base Thunderbird EarlyBird and Beta on the then-current Mozilla Platform version (i.e 18, 19, …) to allow more testing in advance and therefore distributing the bugfix work more evenly. If you have another idea on this topic, please discuss in the newsgroups, see below.

So what can you do to keep Lightning from taking damage due to these governance changes?

  • Are we pretty yet? What would a dialog be without icons? If you are good in graphics design and are able to create icons, we desperately need you. If you have experience with user interface design and user experience, even better. With your commitment to Lightning and the open source world, you would need to create new icons as they are required. With some UI design experience you can also help out accepting patches that change the UI of Lightning.
  • How is your python fu? Can you make make make our project build (not a typo, think about it! ;-). Build configuration is also an area we could use some help in. Don’t worry, its a lightweight entry: you can start out just reviewing patches that change how Lightning is built, but in the long term you would be helping out by improving our build system.

Of course we always welcome developers in any other area, but these are the most needed due to Thunderbird’s change in plans. Please drop me an email if you would like to help out.

I will soon put up a roadmap where I think Lightning should be going to make it more transparent what is going on, but right now I can tell you this much about my top three priorities:

  • Set up a new calendar website which is easier to navigate and helps the user or new contributor to get the right information quickly.
  • Improve test automation, especially Mozmill test coverage and using jscoverage to measure progress.
  • Replace libical with the javascript implementation I have been working on. This will make it even easier for us to support multiple Thunderbird versions.

I have closed the comments here to avoid discussions in multiple locations, so if you have any questions, please head over to the tb-planning newsgroup (also readonly via Google Groups) and post your question there. I’m looking forward to shaping the future of Lightning with you!