Reflections and Projections

The Future Of openlp.org: Version 2.0

As those who read this blog regularly will know, I've been looking for folks to help me out with developing openlp.org. A lot of folks have come forward and offered a range of different ways to help, including actual application development, but no one has Delphi 7, and therefore no one can help me with the development of openlp.org 1.2.

With this in mind, at the pitiful amount of progress I've made recently, I asked the developer mailing list to vote on possibly shelving version 1.2 and moving straight on to 2.0.

The reasons I cited for dropping 1.2 are as follows:

  • Only 1 person working on 1.2 (me)

  • An ever-increasing team of currently about 5 people working on 2.0 (the cross-platform python version)

  • A lot of work needs to go into 1.2, and about the same amount needs to go into 2.0

  • 2.0 is essentially going to be a copy of 1.2, just written in a totally open source environment

The response I got was unanimous. Everyone agreed that my time and effort would be better spent working on version 2.0 with everyone else, rather than duplicating effort on 1.2. This means I am officially shelving version 1.2, and we're moving ahead with 2.0.

Version 2.0 is being written in Python, using the Qt4 GUI Toolkit, and PyQt4 to glue Python and Qt4 together. If you're interested in helping out, please send me a private message.

I will be releasing another bugfix, version 1.0.2, as I mentioned in a previous post, in the near future, so if you're having any problems with 1.0.1, see the bug report thread in the forums.

Getting started on 2.0

A couple of us have started working on the forms in openlp.org, recreating the 1.0 forms in Qt Designer, the interface designer for the cross-platform Qt UI framework. I decided to take a couple of screenshots so that folks can get a taste of where we're going...

Please remember that this is not the final product. These are the first few drafts of *just* the interface. There's no functionality behind any of the windows yet. You can click on each image to download a full-sized version.

First up, here's a preview of the main form:

Here's the settings form so far:

And, just to show you that this works on other platforms, here is a earlier version of the main window on Mac OS X:

If you'd like to find out more about helping out with the development, please join us in IRC.

Version 1.0.2 on the cards

Over the last few months there have been a number of bug reports for version 1.0.1. So I'm going to be spending the next week or so tracking down the bugs and fixing them, and then releasing openlp.org 1.0.2. If you have found any bugs, please read up on how to submit a bug, and then check and add your bug to the 1.0.1 bug report thread in the forums.

On a side note, Martin Thompson has quietly been hacking away at openlp.org 2.0 (the cross platform python version), and has recently committed some code to the openlp-2 subversion repository. It's looking good so far. If you're interested in helping him out,  please join us in #openlp.org and chat to him about where you can help out.

I also want to just quickly highlight an application that Patrick Brueckner has been working on, which will clean up various things in your songs database file. You can download it from his website.

Effective Church Presentations

One of my pet peeves is those OpenOffice.org Impress or Microsoft PowerPoint presentations that folks do in churches. I've seen too many half-hearted efforts in the 28 years I've been in church.

This evening in church we had another presentation, and it got me to thinking about how to write an effective presentation. So this evening I wrote up a guide to effective church presentations and posted it to my personal blog. I hope this helps other folks who want to make their presentations effective.

Looking for help... as usual

I seem to have found myself the only one left on the openlp.org "team." All the folks who have been involved in openlp.org have had to bow out due to external commitments. In plain english (and through no fault of their own) they are too busy to help out.

So, I'm left asking for assistance again. If you're interested in helping out with openlp.org (not just development - things like support, etc), I'd really appreciate your help. You don't need to be a rocket scientist or a rock star, you just need a couple of free hours every week to lend a hand.

Things have been quiet here recently. About 2 weeks ago my computer's motherboard gave in, and I was without a computer for a couple of days while I went about ordering a new one. My computer was 5 years old, which meant that I couldn't just replace the motherboard, I had to replace EVERYTHING.

Otherwise, things are plodding on. I'm busy with a lot of behind-the-scenes work at the moment, which means that there's nothing new, just old stuff made better, but nothing really visible. This work is very necessary though. It builds the base for future features, for everything we want to accomplish with version 1.2. It also means fewer bugs in the system, and more reliable performance, something I'm sure everyone would appreciate.

That's all for now!

Is there hope for CCLI SongSelect integration?

As many folks know, the CCLI SongSelect importer in openlp.org has been disabled due to problems with the service. What many people don't know is that all the applications out there that interface with SongSelect are actually pretending to be web browsers, and are painstakingly pulling the information out of the SongSelect web pages.

The reason openlp.org (and many other presentation applications) stopped working with SongSelect was because CCLI was busy moving their systems from a ColdFusion-based setup to an ASP.NET-based setup (to be honest, I'm not sure if that's an improvement). I took a look at SongSelect again today, and it seems like they have finished the conversion and are now in full swing with the ASP.NET system.

This is both good news and bad news for us. The good news is that it means that we can integrate with SongSelect again. The bad news is that ASP.NET is a terrible system (for reasons I won't go into right now) and it's gonna take a very long time to get the SongSelect integration working again.

We're going to look into getting it going for release with openlp.org 1.2, but unfortunately we can't make any promises.

Cleaning things up...

The conflict merge went well last week, and I have a working copy of openlp.org again. I've started the code cleanup, renaming various components in the code, formatting the code to follow a certain standard (rather than 3 different ones), and rearranging a few things as well in the process. The goal behind the code cleanup is to make it easier and faster to work on openlp.org, and to make openlp.org more efficient.

What this all translates to at the end of the day is that you as the user will find openlp.org faster and more efficient, and when we need to make a change or an enhancement, it'll be faster too.

Once I've completed the code cleanup, I'm going to continue with my rewrite of the control component, which will enable us to do things like use the up and down cursor keys to change between slides.

On that note, I know a number of folks have asked me for the components so that they can make changes to openlp.org (I presume it's because development is not happening fast enough for them, and they want certain features for their church). Please chat with me and consider lending a helping hand with the development. If you want feature A, I'm sure that there are a number of other churches who also want feature A, and it would be beneficial to them if you contributed that back to the project. There are also a number of things you can and can't do with the current codebase, and unless you chat with me and ask, you won't know and you'll struggle unnecessarily (for instance, using the up and down cursor key will only be possible after a rewrite of the control component).

In short, if you contribute back to openlp.org, not only do you benefit, but others will too. You won't need to make changes to your version each time a new version of openlp.org comes out, development will happen faster, and others will benefit from your changes as well.

Getting started with 1.2

This evening I merged the bugfixes from openlp.org 1.0.1 into the main code. My next move will be to clean up the conflicts that arose in the merge (the version control software can't always do a perfect merge, so it lets me "resolve" some of those "conflicts"). Once I've done that, I'll be continuing with the code cleanup that is necessary to implement some of the more advanced things.

The next step, after the cleanup, will be to rewrite the control component, which will allow a large number of usability improvements (like pressing the down key to go to the next slide!). Once I've done that, I'll start migrating the songs to the new database format necessary to add more features requested (like verse ordering). These first 3 things are the biggest changes, and once they're done, we will most probably start releasing development versions of openlp.org 1.1 (which will become 1.2).

I'm looking forward to a number of the improvements being introduced, and I hope you'll bear with me while they are being worked on. Thanks to all the folks who have posted feature requests, they have been noted, and will be sorted into various categories and decided upon once I've finished the code cleanup.

If you're keen to help developing this next version of openlp.org, please drop me an e-mail. To those folks who have already sent me e-mails about the components, please just drop me yet another mail - my e-mail is in a bit of a state of flux at the moment, and I can't access your e-mails.

God bless!

CD image uploaded

After a pretty dismal and disappointing poll vote on pressing and mailing a CD, I've decided to stick with what the "masses" want, and not produce the CD. That said and done, I had already created the ISO (image) and one or two folks suggested putting the image file up so that folks can download it and burn it to CD.

So here it is. It includes some other open source and free software as well, so download and enjoy.

You can download it from the download page, as usual.

openlp.org 1.0.1 released!

Hello everyone!

Yes, it's finally arrived, openlp.org 1.0.1: the bugfix! We're sorry it's taken so long to get here, but it's full of fixes and enhancements. Thanks to relentless testing by Jonathan Corwin and his team, we've managed to kill bugs we would have never normally found. Below is a list of the changes in openlp.org 1.0.1.

NB: Please note that the code used to display songs and bible verses has changed, so that a few bugs could be squashed. Unfortunately this means that your song and Bible verse text is going to look smaller than it used to (in most cases). The font size % is now a true percentage, whereas before it was an estimation.

  • Rewrote display code to fix a number of spacing and overlapping issues.

  • Updated look of all toolbars to make button states clearer.

  • Blanking/unblanking issues resolved.

  • Various "List index out of bounds (1)" errors fixed.

  • Fixed importing of songs from Order of Service files.

  • Fixed Bible import wizard "Verses File" bug.

  • Fixed up various PowerPoint issues.

  • Fixed up various song import and export bugs.

  • Fixed up various song display bugs.

  • Added blanking functionality for images.

  • Fixed Order of Service saving issues (missing songs, double quotes, etc).

  • Fixed selected-then-deleted theme issue.

  • Added various hourglass cursors to indicate work being done.

  • Ordered various drop-downs alphabetically, ignoring case.

  • Fixed Cancel button on Custom Slide dialog.

  • First Time Wizard never ran.

  • Theme error handling updated.

  • Fixed a few song-saving issues.

  • Added spanish interface translation, thanks to Josué Zúñiga.

Many thanks to Derek for all his hard work, setting aside time to work on openlp.org!