Reflections and Projections

No News is Good News

Hi folks,

We're still busy hacking away at version 2.0, hence the silence from us. If you don't hear from us, it's because we're working hard!

It's coming along nicely though, we're got most of the ground work done, and we're now busy working on how to get a plugin to display an item to the screen. Thanks to some hard work for the team, most of the core plugins (the Bibles, Videos, etc) are about 75% done. The next few steps are going to be working on the core, getting things to talk to each other nicely and writing the control component (or "widget" as Qt likes to call them).

A Breathtaking Moment

They carefully crept into the stable, so as not to wake the baby, and as they entered the stable each one gasped a little. "Here he is, this child will save us!" whispered one of the herdboys at the back of the group to another. A feeling of awe and amazement came over them, and they quietly but excitedly went over to the proud father and shook his hand, and then gave the young mother a hug.

It was a breathtaking moment, right there in the stables. This little baby, born to a poor carpenter and his young wife, would fulfill all the prophecies of countless generations and prophets. The nation had been waiting for this moment for more than 600 years.

As the angel choir withdrew into heaven, the sheepherders talked it over. "Let's get over to Bethlehem as fast as we can and see for ourselves what God has revealed to us." They left, running, and found Mary and Joseph, and the baby lying in the manger. Seeing was believing. They told everyone they met what the angels had said about this child. All who heard the sheepherders were impressed.

Luke 2:15-18 (The Message)

May the Lord bless you this Christmas, and remind you of what Christmas is really all about. on Windows

So I realise that recently we've been giving a lot of love to Mac OS X and Linux with regards to 2.0, and so when one of our developers who uses Windows started getting up and running on his computer, I got him to take a screenshot so that folks can see 2.0 running on Windows as well.

Once again, click the image for a full size version. 2.0 is cooking!

Over the last few months about 8 people have been quietly working on a new version of Version 2.0. This version is being written in Python, so that it will work on Windows, Linux and Mac OS X - a feature that has been requested many times.

In addition to being cross-platform, 2.0 has a plugin system, where people can write their own plugins if they wish. These plugins hook into and allow plugin developers to do the same things that the core system does. In fact, the core system (Songs, Bible verses, etc) are all plugins themselves.

One thing about writing these applications that is frustrating, is that when you start developing them you have to write a lot of code that doesn't appear on the user interface. You need to basically lay a base for the program, and only afterward when you get to the user interface part, can you see the fruits of your labour.

I'm pleased to say that we are starting to see the fruits of our labour! Last night I got the Songs plugin to show it's panel in the Media manager, and to show the song edit window when you click on the Edit button. It might not sound like much, but we've had to do a fair amount of coding just to get to that point.

Unfortunately we do still have a lot of work to do, but it's good to see that we're getting somewhere. on KDE 4

I recently completely re-installed Kubuntu on my computer, so that I could install the 64-bit version, and make use of my 64-bit processor. With the new version of Kubuntu came KDE 4, the Linux desktop environment that makes use of Qt4, the same User Interface toolkit we're using for 2.0.

In customising my KDE, I found a really nice dark theme. To my delight I found that uses the KDE look and feel, and so here below I've pasted a screenshot (click on it to view it full size):

The Future Of Version 2.0

As those who read this blog regularly will know, I've been looking for folks to help me out with developing 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 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, 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 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 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 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 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 "team." All the folks who have been involved in 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 (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!