I'm a missionary in Japan. The name of my mission agency is WEC International. That's supposedly Worldwide Evangelisation for Christ, but I think I have a better idea about what it stands for...
2008-12-13
Another day at the code mines
I got a lot done today; lots of wedding prep, flight prep, and an awful lot of programming. Unfortunately, I don't have much to show for the programming.
I've been continuing work on Songbee, to provide it with a way to flag up some songs as translations of others, and then to allow you to switch languages during worship time. This is actually much more involved than I thought it would be.
First, I realised that the "Which song is this a translation of?" dialog would need yet another list-of-songs widget, the third time I had used such a thing in the project so far. So I spent a long time trying to separate the list-of-songs into its own piece of XBL. After an awful lot of playing, I realised it just wouldn't work. Don't know why not. It just didn't.
Next I realised that some songs could be translated into several languages, meaning that my original model of metadata (just slurp the values into a hash) wouldn't work, such you could have more than one value for each key. So I fixed that in a very ugly way, and now finally you can say that song X is a translation of song Y.
The next stages is to fill in the back-links: once you've said that X is a translation of Y, it should automatically record that song Y is a translation of song X, and song X is a translation of all of the other songs that Y is a translation of. This means that at worship-time, each song has a list of all the other songs that translate it, and, eventually, I can put a nice little bar at the bottom of the window to switch between them.
All that is ahead of me, and so I wonder exactly what I achieved in my three hours hacking on that today.
2008-06-10
New Songbee Release
People using Songbee - by the way, please email me, so I know that there actually are some - particularly those using Songbee on Windows, should upgrade to version 1.1, released today. Get it at the usual place. It fixes a few display issues with furigana, and it also gives you a search bar that you can actually see, rather than having to just stab wildly at.
2007-08-24
Songbee 1.0
I've been feeling like a compete sloth this week and not getting very much done, but today I managed to do a great deal of work, and am happy to announce the 1.0 release of Songbee. There's an awful lot changed since the 0.1 alpha, including:
- Search bar during worship
- Song import and export
- "N" key to go to the next logical part of a song
- Projector display preferences to customize how the worship screen looks
- Full-screen mode
The only down side is that as yet the manual hasn't caught up with all this new stuff, nor has the Japanese translation of the user interface.
I'm having some problems with the Windows build, due to this bug in xulrunner. I don't know a workaround for it at the moment, but if you have one, please share it with me. OSX and Unix versions work fine.
As usual, bugs, feature requests, etc., let me know.
Update: I think I've fixed the Windows issues. If someone could give it a download and have a try, let me know. Thanks!
2007-06-26
Death of a thousand bugs
So today I've been doing work on Songbee, amongst other things; one of the areas I've been looking at is whether or not the Japanese localization of it works properly. It certainly doesn't on Mac OS X. Even if you select Japanese as your preferred language in Mac's System Preferences, the Songbee interface comes up in English. This is counter-intuitive, and means it doesn't work like any other OS X application.
Now it turns out that this is a problem with the Mozilla platform. It doesn't ask the operating system what language the user wants. (Although this isn't hard to do; here's some code which does it.)
It also turns out that this problem has been known about since 2001. I don't know, maybe it's just me, but I think if you have important bugs (of course it's important, because it's important to me dammit! ;) sitting around open for six freakin' years and nobody's touching them, something's gone wrong with your bug tracking system. Part of the problem, I guess, is that Mozilla gets a lot of bug reports, and there's enough work to do with triage and fighting fires trying to keep up rather than go look at old stuff. So this is no criticism of the Mozilla project - perhaps the only way old bugs will be looked over will be if someone volunteers for the boring and thankless job of trawling through a very large and very old bug list and working out which ones are still important. But volunteers for boring and thankless jobs are, for some reason, really hard to find...
2007-02-03
Songbee on Windows
![]() |
Windows 0.1 Alpha release. (Requires XP or above) |
Go get it. Bugs to the usual place, except for things we already know about.
2007-01-21
Songbee alpha Release!
Yep, we're pretty much ready, at least for an alpha. There are a few things that need to be fixed, but now I think is the time for people to kick the tires of it.
I'll post a Windows version in the next few days, but the Songbee website has the Unix and OS X versions. Please post bugs at the development site.
2006-12-22
Songbee svn/trac
OK, folks, I think I got the bits in the right order. After stealing the very clever trac/svn integration from work, and spending half an hour or so fighting with svk, I think I have a Songbee repository up and running here. Additionally there should be a Trac project management thingy.
2006-12-11
Why you should NOT use Songbee
Some more updates on Songbee. First, I will be putting up a web site for it, although it's not a priority. The site will basically be a rearrangement of all the information you can find under the Songbee tag, so look there to begin with.
Second I'm not averse to putting up a public svn repository but I'm finding it tricky for administrative reasons; I have an svn repository that I'm working from on my laptop (actually I use SVK) and I don't know the magic incantations required to move it onto my server, with history intact, and then pull it back out and keep on working on it. svk is lovely, but I wish it were simpler...
But if people are interested in Songbee, I want to encourage them not to use it. Really, you should only be using Songbee if you've tried everything else and it doesn't work. Here are the alternatives you should try before looking at Songbee:
- Easislides. It's Windows only, it's fully bilingual, (although it doesn't support Japanese ruby, which is why Songbee exists, and since it's not open source I couldn't make it so) it makes songbooks, it's got Bible text inegration, and it's very pretty. If you're using Windows and you don't care about free software, and it does what you want, use this.
- openlp.org. It has a silly name, it's Windows only, it's open source, it does Bible text integration and Powerpoint integration, and it's very pretty, although it doesn't support Japanese ruby, and because I can't develop on Windows, I couldn't make it do so. If Easislides doesn't do what you want, use this.
- Opensong. This is Windows and Mac. It's open source. It's really good, although it doesn't support Japanese ruby, which is why Songbee exists, and it seemed like an awful lot of work to make it do so and besides I don't understand Realbasic. If neither Easislides nor openlp.org does what you want, use this.
- Lyricue. This is Linux only(!) and does all the usual stuff. As usual it doesn't support Japanese ruby, and I couldn't be bothered to make it do so because my target audience wouldn't be using Linux anyway. If you're a complete Linux-head, use this.
I hope you've now got the idea that you should only be using Songbee if you care about worship projection software that supports Japanese ruby, and if you did, I'd probably know you already.
Songbee doesn't do Bible text integration, although I can see that coming as an extension in the future. (XPCOM interface to C++ SWORD library; I know all the right words, but I don't know how to do it!) It doesn't and probably won't do Powerpoint stuff, although I guess someone who understands Windows might write an extension to do that. It isn't particularly pretty at the moment, although that's coming, and it won't do audio/video integration.
On the positive side it is open source (when I work out how to release the source!) and highly cross-platform; being based on Mozilla it'll run on OS/2 or BeOS if you need it to. But you know, so what? You're only likely to be using one operating system at a time, and it'll be covered by one of the ones above. So really, its only redeeming feature is that it fulfills a need in the Japanese church. If you don't have that need, perhaps try one of the others?
2006-11-30
XUL, Storage, Mozilla and SQLite
So after writing this horrible SQL-XUL monstrosity, I wrote up my findings!
2006-10-13
What Songbee Is
jdavidb in comments asks for a basic description of Songbee. I was going to reply in comments, but then I realised that for the purposes of putting documentation together it's better to have things tagged up in blog posts. So here we go.
In many churches, hymnbooks are on the out and computer projection of worship song lyrics are coming in. Some churches use Microsoft's Powerpoint to do this, but there are problems with Powerpoint. The main one is that a Powerpoint presentation is linear - you go from one slide to the next until you get to the end of the presentation.
But songs are not linear, and worship less so; you have a verse, then a chorus, then another verse, and then the worship leader might choose to go back to verse 1, or sing the chorus, or sing the bridge. If you're using Powerpoint you have to flick around between slides when something unexpected like that happens.
So there are dedicated projection tools, which allow you to say "go to next chorus", "skip to next song", "go back to previous song in playlist". Easislides is one such of these. If you've got the money, Words of Worship is "the best Christian song projection software on the market today", according to its author.
Why am I writing another one? First, because software should be free. Software to assist churches should particularly be free because to make such software non-free would be to deny my less well-off brothers and sisters something which would be of benefit to them, purely on account of their poverty - which is pretty much the opposite of everything that God stands for. I'm not saying that people who create commercial Christian software are being unethical, but...
No, OK, I am saying that.
But anyway, the second reason is that my particular situation involves the Japanese church, and displaying Japanese text has a particular challenge. Japanese has a number of set, including the Chinese kanji character set. Unfortunately, not everyone can read the kanji characters - I don't just mean missionaries who are still learning Japanese, because a lot of theological words are incomprehensible to most Japanese (yeah, I know) so they need to have the pronunciation spelled out for them. So they use another, syllabic, alphabet on top of the characters, like this:
| とう | きょう |
| 東 | 京 |
To do this kind of display obviously requires special support, (to say "oh, and these lyrics go on top of these other lyrics", which is not a normal thing to want) and Easislides and friends can't do it. But since Easislides is free but not open source (which is the other prong of the free software problem) I can't modify it to make it work. the way I want it to. So sadly we have to the Protestant thing and start a new one from scratch. This is what Songbee does.
For the technically minded, Songbee is an XUL application with an SQLite backend powered by mozStorage. It's cross-platform, it's being developed on OS X and Linux and will be deployed on Windows as well. I'll have an alpha out by December. The roadmap looks like this:
Milestone 1
This will actually be functional, but not ideal. I'd say about 70% of this is done, the other 30% is user interface polish.
- Display of songs, worship-time interface (done)
- Creation and editing of playlists
- Addition of new songs
Beta: Milestone 2
- Import and export of songs and song databases
- Search through song database, playlist edit time and worship-time
- Internationalisation (interface in Japanese as well as in English)
Release
- Customization of style of worship-time screen (fonts, colors, backgrounds, etc.)
- SWORD interface - ability to insert Bible passages as well as songs
There are a couple of things I just don't know how to do. Making searching work really nicely would involve something like Lucene, and I don't know how to interface that with XUL - partially because I only learnt XUL a couple of weeks ago. Similarly, SWORD is going to be an utter nightmare to integrate with XUL, because SWORD is written in C++ and the XUL stuff is written in Javascript, and they're different languages. I don't know how to do a few cosmetic things like positioning the worship-time interface on the second external monitor, but we can live without that for now. Someone will know. :)
Above all, it's looking good, and it's nice and easy to use, it does the job, and it looks good doing it. I just need someone to lock me in a room with an endless supply of beer and O'Reilly books, and it'll be out in finite time!
| « | 2009-01 | |||||
|---|---|---|---|---|---|---|
| S | M | T | W | T | F | S |
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
lathos: Going from iPod 1.x to 2.x and severely regretting it.
The Flaming Lips – Approaching Pavonis Mons by Balloon (Utopia Planitia)







