Almost to the finish line

Sorry for the long silence. I have been coding furiously to deploy a decent-looking (and functioning) public beta, and I’m finally down to the wire. Expect a first look next week. No matter how hard I try to account for unknowns, learning curve, etc., in software estimation, I always “misunderestimate.” If you’ve been around software development at all, you will recognize this as a universal phenomenon. I think it’s due in part to the fact that if we had known at the start of a project what we know by the end, we would never have started! Because software is less tangible, than, say, building a bridge, many folks (including developers) think, “how hard can it be?” Perhaps we should think about software more like building bridges. It takes months and years to lay a proper foundation, pour the pillars, raise the beams, pave the road. And in software, you’re almost always working with something new, and therefore have to throw the first one away. True to form, I’ve written most of ROA twice now.

There are currently over 7000 lines of code in my “little” project. I did not see that coming. The learning curve was steeper than I thought, although in retrospect it was silly to think I would be as comfortable with a brand new platform within a few months as I am in areas where I have many years of experience. And the amount of code required overall is much greater than I thought. Almost every week, I think, “Finally, I’m done building foundation, I’ve got patterns I can copy, and now I can just turn the crank.” And then I find some new wrinkle that requires still more infrastructure code. By the way, I’m really, really pleased with my latest bit of infrastructure: a queuing, batching, caching dispatcher just like the one Ray Ryun mentioned in his Google I/O presentation last year. It solves architectural problems in GWT that I’ve been wrestling with since Day One.

But I digress.

I have enjoying watching a bit of the Winter Olympic games these past couple weeks, and have especially admired the athletes’ determination to “keep on keeping on.” Starting is easy. Finishing is HARD. I struggle daily, sometimes hourly, with discouragement and motivation to finish. It’s so much bigger than I thought, and I’m only one man. I can’t do it by myself, but with God, all things are possible. Lord, teach me to rely on the Holy Spirit to supply what is lacking in me.

Encouragement to prayer from a distressed mother

In Mark 7:24-30, we have the moving account of the Syro-Phoenician (Gentile) woman who humbly and persistently implored Jesus to heal her demon-possessed daughter.

Commenting on this account, J.C. Ryle makes this application:

InĀ  the first place, this passage is meant to encourage us to pray for others. The woman who came to our Lord, in the history now before us, must doubtless have been in deep affliction. She saw a beloved child possessed by an unclean spirit. She saw her in a condition only one degree better than death itself. She hears of Jesus, and beseeches Him to “cast forth the devil out of her daughter.” She prays for one who could not pray for herself, and never rests till her prayer is granted. By prayer she obtains the cure which no human means could obtain. Through the prayer of the mother, the daughter is healed. On her own behalf that daughter did not speak a word; but her mother spoke for her to the Lord, and did not speak in vain. Hopeless and desperate as her case appeared, she had a praying mother, and where there is a praying mother there is always hope.

The truth here taught is one of deep importance. The case here recorded is one that does not stand alone. Few duties are so strongly recommended by Scriptural example, as the duty of intercessory prayer. There is a long catalogue of instances in Scripture, which show the benefits that may be conferred on others by praying for them. The nobleman’s son at Capernaum–the centurion’s servant–the daughter of Jairus, are all striking examples. Wonderful as it may seem, God is pleased to do great things for souls, when friends and relations are moved to pray for them. “The effectual frevent prayer of a righteous man availeth much.” (James 5. 16)

— J.C. Ryle, Expository Thoughts on the Gospels

Prayer–is that all?

Have you ever thought this way: “Yes, prayer is important, but giving / doing / serving is where the action is really at…”? It’s easy to think this way, but the more I read, the more I am convinced it’s exactly backwards. The Apostle Paul had this to say, concluding the chapter on spiritual warfare with this finale:

Praying ALWAYS with ALL prayer and supplication in the Spirit, and watching thereunto with ALL perseverance and supplication for ALL saints;

Ephesians 6:18

This is one reason why I am very grateful for your prayers for me and ROA. If I take the Lord at His Word, prayer is not just a nice thought: it is the means to moving the hand of God, so to speak, and is therefore no less valuable, and perhaps more so, than monetary contribution or any other kind of gift. That fellow pilgrims would speak to the Lord of heaven and earth on my behalf is an immense blessing–one that inspires me to create software to help us all become better prayer warriors.

The source of murmuring

I ran across this in some sermon notes from last year, and thought it worthy to share:

The source of much murmuring and complaining is in fact Christian hypocrisy–pretending to be a Christian while holding on to our vision for our lives.

This strikes me as an excellent diagnostic tool of the soul. Because our hearts are deceitful, it is often hard to tell whether we are pursuing our own will or the Lord’s will for us, but the presence of much grumbling may be a clue…

Bible tools for Firefox users

Have you ever started to quote Scripture in an email and wished for a Web site where you could quickly search for the verse in mind and cut and paste into your email?

You need the Toolbar for Firefox! It’s like Google for the Bible, simple and fast.

Another userful Firefox add-on is the Bible Refalizer, which automatically searches for Bible references within web pages and adds hyperlinks from those references to the Logos online Bible and others.

There is also a snazzy Web 2.0 Bible tool called Jot66 in the works from the folks at DeoWorks (I’ve seen a private beta). As a Christian technologist, I’m excited to see what like-minded and like-talented folks are dreaming up online!

Startups are quiet

Do you know what it sounds like inside a one-man startup?

The sound of one hand clapping.

I hear bits and pieces from a few friends, but basically, nobody knows about ROA yet. Which is because I haven’t done an effective job communicating, of course. Which is due to two major factors:

  1. A blog is the wrong format to communicate with most of my friends and family. Only one or two friends use a blog reader like Google Reader. The rest use email. I haven’t wanted to spam everyone, so I haven’t maintained a ROA mailing list. Thankfully, WordPress has recently solved this problem for me. You can now sign up to get these updates via email (see the sidebar on the left).
  2. I’m a perfectionist. I haven’t wanted to say much about ROA until I could point you to a beautiful, polished Web site where you can sign up for yourself, your church, etc. But it takes time and money to get there, and meanwhile, well, it’s quiet. It’s not just that I’m a perfectionist. There are real hazards to releasing something too early, especially something public and free.

Given that my progress has been much slower than I would like (it’s software, what can I say?), and given how quiet it’s been, I have been tempted to give up. But I’m not giving up, for two reasons, yea, three:

  1. I was and am convinced that God has called me to this work. He has given me the ability (however slow I may be) and the vision for it, and by His grace, I will complete it.
  2. Christ’s Church could really use this tool just now. Almost daily now, I think, “Sure would have been nice to put that in ROA.” Emailed prayer requests, our church directory, upcoming church events: all are planned for ROA. Just…have…to…get…there. Incidentally, also daily I receive my daily prayer list via email from the beta version of the software and I feel selfish for not letting everyone in on it yet.
  3. If I didn’t finish what I started, I would never be the same. Even if no one ever signs up, all the time and money I’ve spent on ROA are not wasted…IF I finish. If I don’t finish, it’s all a waste. If I don’t finish, I would forever question my own ability to complete anyone’s Web / database application. If I don’t finish, then I have given up on the strongest sense of divine calling I’ve had in my entire life. The cheesy motivational posters are right on this count: the only true failure is a failure to finish the job. This is a biblical idea: God doesn’t call us to succeed. He doesn’t call us to do what only He can do. He calls us to obey, to be faithful, to FINISH! (As you may have guessed, I’m writing mainly for myself here–I use my own blog as a motivational tool).

So what’s holding it up? Lots of little stuff. Putting up a Web page is one thing. Offering a Web service to the public is quite another. Think sign up, sign in, sign out, learn more, join a group, create a group, subscribe, unsubscribe, not to mention terms & conditions, and of course, pay / donate. And then a mandatory upgrade comes out on some critical component, and I lose a day getting the new version working. When you’re already overdue and struggling to go live in 30 days, a lost day really hurts. There’s no one to share it with, no one to clear the jam so you can move on.

And of course, I’ve been wearing a lot of hats: front-end Java coder, back-end Java coder, DBA, HTML / CSS coder. Don’t get me wrong–I love doing all this stuff, but when I’m working on the back end, there’s no one working on the corresponding front end. Which means everything moves…slowly.

I’ve tried soliciting volunteers; however, most capable folks already have full-time jobs so aren’t able to contribute much. I could go faster if I hired someone, but can’t afford it out of my own resources. Should I try to raise funds? I’m incorporating as a not-for-profit organization for this purpose, but again, I’d like to have something up and running before I ask for money. It’s a chicken-and-egg problem.

Which brings me to my challenging quote of the day:

Go after a dream that is destined to fail without divine intervention.

— Mark Batterson (Chase The Lion)

I’m there! ROA is destined to fail without divine intervention.

THEREFORE, would you pray for me, for perseverance and WISDOM at this juncture? I covet your prayers.

Your Web / database developer for Christ,

David Chandler

Business model, what business model?

I’m long overdue to write about the proposed business model for In a nutshell, it is my desire that the service remain free for individuals and that IT resources be paid for via a subscription plan for churches and other Christian groups (missionary organizations, Bible studies, houses of prayer, etc.).

What do you think of the following model?

  • Free (individual) accounts will allow you to join as many groups as you like and create up to two private groups of your own with no more than, say, 13 members each. This way, everyone can share prayer requests with a group of close friends and family members for free.
  • A small group account designed for Bible studies would allow you to create a public group (listed in searches) with, say, up to 40 members for something like $25/yr.
  • A church account would give your church a public listing and info page and would allow the church to create an all-church group with up to 400 users and an unlimited number of sub-groups for something like $250/yr
  • Finally, there would be a mega-church or large organization account with still larger numbers of users and dollars attached…

An alternate model would limit the number of groups an individual could join with a free account. In this model, the small group and church rates would be reduced and offset by the sale of individual pro accounts for people who connect to a large number of groups. This perhaps more equitably distributes the operational expenses between individuals and groups.

What are your thoughts? Please post a reply below.