Back in the early 90s I decided to learn more about video game design. I did some research, and I purchased a book called the Action Arcade Adventure Set by Diana Gruber. The book came with a companion disk and a collection of game programming libraries. (The book is still available online if anyone is interested, though a number of the technical details discussed are likely no longer accurate on modern PC architectures.)
In those days, serious computer games were developed for MS-DOS, and while there was such a beast as Microsoft Visual C++, most of us were still using Turbo C++. I read Action Arcade Adventure Set from cover to cover, but when I set about compiling the examples on the companion disk, no matter what I tried, I'd get a linker error. In a last-ditch effort, I called the technical support number listed on the back page of the software manual.
The number was long distance, and after the fourth or fifth ring I was certain I was going to be dumped to an answering machine, but then the phone clicked and a woman's voice answered: "Hello?"
"I'm sorry," I said befuddled. "I was trying to reach Gruber Software."
"This is Diana Gruber," the woman replied. "How can I help you?"
"Oh," I tried again. "Well you see I had a technical support question about linking one of the library object modules."
"The tile scrolling libraries."
"My husband, Ted, did that one. I'll tell you what -- we were just in the middle of lunch here. Can I get your number and have him call you back?”
I said he could, and he did. In almost no time, Ted had me up and running.
So what does this have to do with app development? Recent experiences lead me to think that the current mobile app industry has a lot in common with the early to mid-90s PC software market. The smartphone and the phenomenal app market that appeared out of virtually nowhere (thank you, Apple) is giving software professionals a rare opportunity to do a bit of a reboot.
There are certainly mega-app development houses with their scrummy software development cycles in full swing cranking out products for iPhone and Android, but there are also pretty amazing apps being put out there by one and two person teams. I recently had fantastic customer support experiences with two smaller (smaller being a relative term) Android software shops: NitroDesk and Carrot App. It made me feel a little nostalgic to personally deal with folks who were passionate about the products I was calling about.
I'm not saying big software development shops are evil; software shops grow because they have a hit application on their hands, and that is what every developer dreams of for his or her baby. My point is that the software industry lost something over the last decade that was detrimental to developers and users: the human factor.
For the foreseeable future, those of us wading through this new and exciting mobile app market have the opportunity to bring that personal touch back to the software community. While I don't believe there is a magic formula for hitting it big in the mobile marketplace, a well-engineered product, offered at an affordable price, backed by accessible and knowledgeable support personnel, sure sounds like a good start.
William J Francis began programming computers at age eleven. Specializing in embedded and mobile platforms, he has more than 20 years of professional software engineering under his belt, including a four year stint in the US Army's Military Intelligence Corps. Throughout his career William has published numerous technical articles, as well as the occasional short story.