Back from the Holidays

The past few weeks I’ve been studying and working with WordPress and Joomla!

I’ve brought up our church and band websites on the latest WordPress, and am somewhat unhappy with the user experience that is presented to other authors (eg. my wife). This prompted me to take a look at Joomla! provides a tutorial on it, so I went through it. There is a steeper learning curve on Joomla! but it appears to be much better suited to supporting multiple, less skilled authors. There doesn’t appear to be as much information available (yet) on how to create and modify templates and plugins, but I’m diving in anyways.

I going to convert my BuildAChurchWebsite website to Joomla! and see how that works.

iPhone Development

I’m going to use this time between jobs to learn how to program the iPhone. Since I’m already familiar with Cocoa development, I believe it is going to be fairly easy.

On Tuesday I picked up a copy of the “iPhone Application Development for Dummies” book by Neal Goldstein. I’m already on chapter 11. This book is great, especially for someone like me that already has some Cocoa experience. The coding information is minimal which would probably bother me if I wasn’t already familiar with Cocoa. But it is perfect in my case. It gets me right to what I need to know.

There are a couple example applications which are real applications that the author has submitted to the App Store. I’m going to customize the first for use on my own iPhone by including my picture in it, and making some other cosmetic changes.

The iPhone development environment is amazing. This reminds me of how things were when Microsoft first released Visual Basic. A big difference is that although simple applications can be very easily and quickly created and deployed (like VB) there is a professional strength language beneath it (Objective-C vs. Basic) which will allow full blown application development.

I am really loving this! Thank you God for giving me the time off to go learn this.

Diving into Planning Center Online

First Impressions

My first impression of Planning Center Online (PCO) was “OMG! This program does everything that I’ve wanted to do with my custom band website”. So I registered for a free account to give it a spin.

Unfortunately the free account does not allow uploading chord sheets or MP3 files. So I upgraded to a 30 day trial of the $14.95/mo ‘lite’ account.

Creating a Lineup

At this point I’m a bit stumped. What I wanted to do was create a lineup for next Sunday’s service and enter the 6 songs that we will be doing. I entered the list of band members no problem. However it became confusing when I tried to create a lineup.

First I created a new ‘Service’ which I called ‘Sunday Service’. Then I selected ‘create a new plan’. This displayed a dialog with a dropdown list that included only ‘No Template’. There is also a ‘Quantity’ dropdown. I’m not sure what this is for. I guess you can create multiple, duplicate plans here.

No Template Plan

Ok, so I guess that it is ok to create a plan from ‘No Template’, so I click on ‘accept’ to create a plan from ‘No Template’.

Step 1: Add Times

This displays what appears to be a very helpful prompt which states “Step 1: Add Times…” with an arrow pointing upwards to the left to a small blue dot with a triangle in it. I would guess that this means that I should click on the blue dot. However, doing so only causes the triangle to alternately point to the right or downwards. So with confusion setting in, I read the message all the way to the end where there is a line of smaller text which says “Hint: Do you like keyboard-shortcuts? If so hit Ctrl-Alt-T to add a time!”. So I hit Ctrl+Alt+T and nothing happens. I’m wondering now if this isn’t working because I’m on a Macbook Pro. In any case, I’m stumped at this step so I’ll go over to help.


I click on the ‘help’ link in the upper right. This gets me a list showing ‘Tutorial Videos’, ‘Support Forums’, ‘E-Mail Support’, or ‘Phone Support’.
I’ve already watched all of the videos, although I’ll guess that my question might be answered in one of them but I’ve forgotten or didn’t notice this particular step. But the videos are pretty long, so I think I’ll try the forum to see if I can get a quick answer to ‘Add Times”.

Online Forum

After clicking on ‘Support Forums’ I get a page which says ‘There are no current topics in this discussion group’. This is a bit confusing, but I ignore it and enter my ‘Add Times’ search in the ‘Search this group’ textbox. This gets me a couple of pages of hits, none of which appear to address my question. I’m guessing that it searched for the individual occurrence of the words “add” and “times”. So I retry my search, this time putting “Add Times” in double quotes. This yields a smaller list of 9 items. One of these items is labeled ‘Keyboard shortcuts’ where I learn that “If you are on a mac, the Alt key is the Option key…” so I’m guessing that Alt-Option-T is supposed to work on my MBP.
I check out another entry labeled ‘same service, two times’ and I get the answer that I need to ‘Just click add a time and enter …’. So now I go back and look at the dialog, and sure enough, further over in the left column is a ‘Times’ box with ‘+ add a time’. This allows me to enter my lineup date and time.

Adding A Time

So now I select my date for next Sunday from a helpful calendar widget, and enter my times for 11:00 and 12:00. I make the common mistake of leaving 12:00 as ‘am’. I get a helpful message informing me that my ‘Starts at must be before ending time’. So I change 12:00am to 12:00pm.

Step 2: Adding Items

Now I get the helpful message informing me that step 2 is to add items to the plan, and gives me the keyboard shortcuts. I’m thinking that I’ll need a header for each song category (Intro, Congregationals, etc). Once again the keyboard shortcuts don’t appear to work for me (Ctrl+Option+H), but hovering over either ‘add an item’ link displays a list of items to add, so I elect to add a header and call it ‘Intro’, and then select ‘add an item’ and select ‘song’ to enter the Intro song.

Add A Song

The Add A Song dialog that is displayed is blank. This makes sense since I haven’t added any songs. So I click on ‘add a song’ and I get a ‘New Song’ window. Our first song is ‘Not to Us’ by Chris Tomlin, so I enter the song title into the ‘CCLI # or Title:’ field. After typing just a few characters, I’m presented with a list of songs matching the characters typed so far. Very cool. I love Ajax. By the time I get to ‘Not To’ the only option is the song that I want, so I stop and click on it. This fills in the CCLI number for me, and lists a single arrangement in the key of B. I click ‘Save’ and nothing happens. So I click on the ‘plans’ tab and it returns me to the plan I’m working on.
There are several icons that appear to the right of the song name whenever I hover anywhere over the line.
The first icons looks like a cartoon balloon. There’s no flyover help, so I click it to see what it does. This displays a window ‘Not To Us Comments’. There is an option to subscribe to comments about this item, or this plan, or this service. Very nice. So I elect to subscribe to all comments for the service type, and enter a simple comment. This creates the comment, and a new field to add a new comment forum-style. Upon closing the window I see that the balloon icon now has a number 1 in it indicating that there is 1 comment regarding this song. Extra very nice.
The 2nd icon is a pencil, and as one would expect this displays an edit window. Lots of stuff here, a little confusing. There’s a place to link media, select arrangements, and add various notes. I’m going to leave this alone, and cancel back.
The 3rd icon is a red X which I can guess is to delete the song from the lineup. I try this, and sure enough I get a confirmation window. I cancel this.
The 4th icon is a musical note. Clicking this takes me to the ‘songs’ tab and the dialog which I saw when I originally added the song.
I notice now that the comment ballon is displayed now even without hovering over the line. This is another nice touch.

At this point I’m quite impressed with PCO, having worked through the few stumbling points. I continue to add the other songs in similar fashion as above. Now that I’ve done one already, the other 5 songs enter in under a couple minutes total.

Adding MP3 Files

This turns out to be fairly simple. Files can either be uploaded to the PCO site
or a link established from PCO to a separate site. Since I already have a lot of
MP3 files on my band site, I’ll establish a link to them from within PCO.

The only tricky aspect to this is the fact that an MP3 can be associated with the song itself or with a particular arrangement. This is a nice feature, but does make it a bit less simple.

Adding Chord Sheets

PCO has a very nice facility for adding chord sheets.
Standard chord sheet text can be cut/pasted into PCO, and PCO will
intelligently parse them to recognize the chord lines. PCO will then allow
transposing them.

iPhone App

PCO has a free iPhone application which makes it easy to view the current
week’s lineup. I was a comment in the App Store complaining that the MP3
files couldn’t be played, but it works for me, so maybe that is an outdated
comment, or maybe it depends on how the MP3 file was posted/linked.
PCO does have a switch to disable file downloads, and allow only streaming.
So maybe that was the cause in that particular case.


I love it. I’m going to switch over to using PCO for our band’s weekly
lineups. I’ll probably revamp the existing band website to provide a link
to PCO, as well as provide the MP3 files which PCO will link to.

Planning Center Online

This morning I woke up very early, feeling pretty excited about really diving into doing development on the band site and the iPhone application for it.

I did some searching through the App store looking for drum related applications and got about a hundred hits. None of the existing applications do what I had planned, but it worries me that with so many drum related applications, a new drum application would get lost.

So I started searching for band lineup related applications, which is a bit difficult because I couldn’t think of any unique search keys. However, I finally located an iPhone application that referred me to their associated website

OMG! This site has done just about everything that I had hoped to do with my band site, including an iPhone application and Facebook integration. This is a very sweet site, very well done. I am very excited about it, and looking forward to bring out own band up on it. I’m fighting off being disappointed that someone else beat me to the idea, and did it so well!

One of the really coincidental aspects of this site is that the creator of the site is a music minister at Central Christian Church in Henderson near Las Vegas. I had written the song “A Place in Sin City” shortly after visiting that church early last year. I’ve also recently been in touch with my ex-brother-in-law, and he has become very active at that church.

This whole thing has the appearance of having God’s hand all over it. Now I just need to figure out what He wants me to do with it. I’ll probably start by sending a letter over to PCO and see if they need any help.

Improving my Skills for a new line of work

In trying to discern where God is sending me, I’ve had the feeling that there are 2 strong possibilities:

  1. Utilize my web programming skills in order to extend our band site.
  2. Brush up my Cocoa skills and get involved in iPhone development.

I’ve been playing with our church’s band website for several years, and it occurs to me that this might be something that I could extend to allow other churches or music related organizations to use. I think that some of the key features are the ability to create lead sheets, reuse them in lineups, and transpose them. The ability to strip out the chords for use by singers is also very useful. I had originally implemented this as a WordPress plugin, but then converted it to a Zend Framework based custom application, eventually adding Dojo support. I’m thinking about moving it back into WordPress.

iPhone development has always appeared very appealing also. I’ve recently started refreshing my Mac Cocoa programming skills, and these are exactly the same skills needed for iPhone development. Earlier this week I had joined the iPhone development program. I have some ideas about a simple application to use with my drumming. My primary motivation for doing this though is to work on an iPhone application which would access the band site to display the current week’s lineup and allow playing the MP3s.

I plan on using my C# skills to create similar applications for the PC in addition to a Mac Cocoa application which would use the same web service for listing the current week’s lineup using a PC or a Mac.

Opportunity for a change

This morning they closed down the software development office here in Austin where I was working. We’ve been expecting this to happen, so this didn’t really come as much of a surprise. I’ve been feeling for awhile now that God has had some other things in store for me, although I don’t know what yet.

The severance package is pretty good, so I’ll have some time to figure out what God wants me to do, perhaps learn some new skills, or brush up some old skills.

I have a vague feeling that God wants me to do something different than the big enterprise software development that I’ve been doing for most of my life.

I’m feeling pretty good about the change. I just wish I knew where God is sending me 🙂

My only fear at this point is that I might not discern correctly God’s direction for me, and/or that I’ll end up squandering this time off instead of using it to prepare for God next thing for me.

Common ZendServer and Zend Studio Directory

One of the problems that I’ve been having with using Zend Server CE and Zend Studio 7 is understanding and managing where the files are located.

Since I’m developing on Mac, I naturally started with trying to use the ‘Sites’ directory. This meant that I had to switch the ZS7 workspace, which for some reason is a bit flakey. I would then need to reroute Apache’s documentroot or better create a vhost to point to the project in Sites.

It appears that ZS7 can automatically detect ZSCE and will create projects in its documentroot directly if ‘Create project on a local server’ is selected during the project creation process. This results in the new project appearing in the ZSCE documentroot directory, by default /usr/local/zend/apache2/htdocs.

It will probably be a lot less confusing to leave the ZS7 workspace and ZSCE documentroot in their default location and simply create a link in ~ (‘ln /usr/local/zend/apache2/htdocs DocumentRoot’) to the ZSCE documentroot folder instead of using the Sites directory.

Another confusing thing is the relationship between the Workspace, ZS Projects, and actual file locations. The Workspace is where ZS will create Project folders. Projects can reference files located elsewhere as implied by the above note. So files can be located in the Apache documentroot (wherever that is) and projects created in a separate Workspace. They don’t have to, and probably shouldn’t be the same location.

Start of WordPress Blog

Having up until now been creating web pages mostly from scratch, I’ve decided to take the plunge and try using a blog engine.  After some searching around, I’ve chosen WordPress based upon the dozen or so comments that I found online. This was by no means a thorough analysis. I’m basically lazy, and don’t want to spend a lot of time on this. WordPress appears to do everything I think I want to do, and since it is PHP based I’ll be able to extend it to do additional things if needed.

I’m planning on blogging my activities with MIDI/Music notation programming and my recent dive into composing music.