I am not a developer and I don’t play one on TV. I used to make my living by testing software that other people write; in other words I got paid to find fault with other people’s work. But I gave all of that up when I moved from Boston to Colorado with my husband Matt (aka ‘Mundue’), and I decided that this would be a good time for me to take a shot at helping him write and maintain our iPhone apps.

Perhaps it would’ve made more sense for me to get my feet wet helping him update our existing apps. Baby steps. God knows he has his hands full keeping the reMovem product line up to date. But we were approached by the Colorado Wolf and Wildlife people to write an app for them and I thought that it would be a great opportunity for me to learn from the ground up, since their app would be nothing like our existing games.

Now in an ideal world I would have read a book or two like Beginning iPhone Development or The iPhone Developer’s Cookbook or Programming in Objective-C 2.0. But of course we had a directive to write the Wolf Center app, and, just like in the corporate world, we wanted to get started writing the app, training be damned. One of us knew how to write code and the other one will just ‘get it’, right? Through osmosis, or the Think System (any Music Man fans out there?).

So we jumped right in. One of the first things that struck me about the process of writing an app is just how little time is actually spent writing. There were so many facets involved in this process, and writing code turned out to be only one part of it.

We needed to talk to the folks at the Wolf Center to nail down the objectives. What do you want to accomplish with this app? In addition to raising awareness of the center and the plight of the animals, they initially wanted it to be another source of income. In other words, a paid app. That’s understandable. The CWWC is a non-profit organization and has a lot of hungry, howling mouths to feed. Luckily for Matt & me, we didn’t have trouble convincing them to make the app free and to make money from the increased number of tours the app would generate. And, in order to accommodate those people who wanted to contribute to the sanctuary, but were unable to visit, we suggested adding a donation button to the app.

Once we had the objectives hammered out, Matt & I focused on the design. We decided to keep the design at a high level, knowing full well to expect changes as we went along. This turned out to be a blessing, since it left a lot of wiggle room as the app took shape and some options became difficult to implement, while other options opened up. We got some good feedback on the UI during a design meeting with some of the local developers here in Colorado Springs. After presenting their thoughts to the Wolf Center, we implemented some of their suggestions. I liked having that kind of flexibility. But I am specifically avoiding the use of the term that rhymes with ‘fragile’ – in my limited experience with that model it became so contrived and restrictive it was anything but flexible. Matt & I did not have daily scrums, and I refuse to think of either of us as a chicken or a pig.

Next up was talking to their web page developer, to see what content could be shared, or at least pilfered, from their current web site. Another good decision we made up front was to take advantage of as much existing data as possible.

Then there was the artwork. We had the services of the center’s volunteer graphic artist at our disposal and that was priceless. We did not have to create the artwork, just handle it. So that was great. And, although the artist was located in another state, one time zone away, she responded quickly to emails and sent the graphics to us in a timely manner. However, partway through the project, Apple announced the Retina Display, so we had to go back to the artist and say, “Do you remember all of the artwork that you’ve already sent us? Would you please send it again, four times larger and twice the resolution? Of course, when I received the initial graphics I changed the names of the files for our purposes, so when I received round two, it wasn’t always obvious what corresponded to what. It was an administrative nightmare.

Speaking of administrative nightmares, it also fell upon me to handle all of the emails. Again, this was not rocket science, but, with all parties located in different sites, sending, replying, and keeping track of emails was time consuming. Did I already ask for a different picture of the Mexican Grey Wolf? Did she already send it to me? Did I lose it?

Oh, yes, and then there was the coding. We finally did get around to that. Frankly, that was the most enjoyable part of the process. We bounced ideas back and forth, Matt told me what to write, and I did it! So now I am officially a developer, right? Not a chance. In our situation, I felt more like a secretary from Mad Men taking dictation. I didn’t know the difference between a method and a function, when to use lower case or camel case, and, above all, where that damn square bracket went or, more to the point, why it was needed. (Did I mention that I didn’t read any books before jumping in?) I did figure out very early on that 9 times out of 10 a compile error was quickly corrected by adding a semi-colon to the end of the line in question. Coding 101.

Remember the osmosis part I talked about earlier? Funny, but it started to work. In a very rudimentary way, but it worked. In other words, by writing code, running the app, adding resources, day after day, I started to learn my way around Xcode and Interface Builder. Once I got past the missing semi-colon, I started correcting real errors. I reached a point where I could give Matt a breather while I uploaded resources, created and populated plists, experimented with views to see which looked best, etc. A good portion of the app contains UIWebViews which load HTML and image resources. I wrote the HTML and CSS style sheets for those, too.

Was this development work? Yes. Coding? No. Helpful? Yes.

What did I take away from all of this? I did learn so much by just sitting down with Xcode every day. I became comfortable with the development environment, although I must admit I still can’t remember all of the shortcut keys. Still working on that. But I did contribute. Add to that all of the non-coding hours spent on the other tasks, I realize I contributed a lot.

So what’s the next step? Do I bite the bullet, read the books, perhaps take a class from Big Nerd Ranch, etc.? Apologies to Harold Hill of the Music Man, but the Think Method does not work. Familiarity with some development tools (the osmosis part) does not make me a coder. In order to become a proficient coder I would need to dedicate myself to the cause – read, study, write, practice, practice, practice!

Or do I say, “Matt, I never realized just how many hats you have to wear?” Let me offload some of your work. Let me handle the administrative stuff, the assets, the collaboration, the HTML, the testing, the accounting, etc. I can sit with you while you write the code so that I understand it. We can bounce ideas off each other, and I can handle some of the more mundane coding tasks when you need a break. But, like Greyhound, I’ll leave the driving to you.

I’m leaning toward the latter. I know Matt would love for me to choose the former. Stay tuned.