To market, to market

Once TapAMap basically worked, my focus shifted from cobbling code to spreading the word. I needed to design an icon, build a website and jump through the hoops leading to the App Store.

In my coding classes, we learned to code.  The mini-apps we built for exercises all just had plain white squares for icons.  Graphic designers use a completely different skill set.  I'm an artist, but I have not used Photoshop, Illustrator, or any of the other professional graphic design software suites.  Apple provides very specific guidelines for icons, and I found an online debate over which tool—vector-based or rasterized—is best suited to meeting them.  I considered diving in and learning Photoshop, but then discovered the cost of the software.  Cheaper and faster to find someone to do it for me.

A friend referred Dan Rhone of LUX-ID.  I wanted a single symbol, like Facebook's "f", or Google's "g."  A "?" would might convey my idea that TapAMap becomes useful when you find yourself asking, "What's this?"  It needed a map, too.  I didn't want a street map, because I didn't want to convey the idea that this app might provide driving directions.  I also wanted it be clear that TapAMap covered the whole world, so a globe would be good.  Then it occurred to me that the "dot" of the "?" could be the pin that drops when you touch a place.

Icon version 1.jpg
Sample 2

We went through a couple of revisions, but before long Dan delivered a set of custom-sized icons to meet Apple's specifications.

Next up: a website.  Bill Deem, a regular at the iOS developers meetup, informed me that you must provide a URL when applying to submit an app, so I had to build a website.

My situation is rather unusual because my first foray into the tech world has been through programming for mobile.  I've never done any web site programming.  But in the world of LA meetups, I quickly got the impression that most of the folks moving into mobile are coming from a background in HTML, CSS, Ruby, Python, etc. For me to have to learn enough to build a simple support site up was going to take too long.  I needed a short cut.  Luckily, there are many such tools.  I knew about Wordpress and Concrete 5, but my wife suggested trying SquareSpace.

SquareSpace screenshot.jpg

It had very clean design, which I like, and offered a free trial. So what you are now looking at is a SquareSpace website. In exchange for an intuitive, drag-and-drop interface, I had to give up my preconceived design ideas.  I wanted to offer users step-by-step instructions they could scroll through from left to right, with TapAMap screenshots accompanied by explanatory captions.  SquareSpace has a cool template in which images scroll across, but I couldn't find a way to attach captions.  Still, I'm very grateful for such a nicely designed, easy-to-use website service.

Icon, check. Website, check. Time to plunge into submission!

In order to submit an app for approval on the App Store, developers must jump through a series of hoops, each with a reasonable purpose, I'm sure, but daunting to first-timers nonetheless.  I had naively imagined that Xcode, the iOS coding interface, would have a "Submit" button I could press when my code was ready. It works on my iPhone, with the icon, too, so why can't I just send it off?

First, you have to fill out an application through iTunesConnect that basically tells Apple you're going to submit code.  Then when you actually send it from Xcode, the store matches everything up.  Developers need "code signing" certificates, which are basically digital IDs that identify you as the properly-credentialed creator of the code.  It's a somewhat opaque process, but there are step-by-step instructions.  The tricky part is making sure that the code-signing certificates, code identifiers, and all such information that you tell iTunesConnect you're going to be submitting EXACTLY match what you actually do submit.  That's where I went wrong.

It caused me a couple of days of delay, because I first had to comprehend the error messages, then figure out how to fix the problem. I had a couple of such bumps. Somewhere along the line, I'd changed my code ID from "Scott's First App" to "TapAMap."  I'm sure it's easy for experienced developers to fix such seemingly-simple issues, but I had to turn to the ever-reliable, developers' godsend StackOverflow to tell me where in the myriad menus of Xcode I could find the place where such changes can be made.

StackOverflow screenshot.jpg

Then, having submitted TapAMap for approval, I was steeling myself to receive a rejection based on issues I had never heard of.  I was pretty sure I'd face a couple more weeks of pouring through the developers' library and StackOverflow forums.  So it was a very pleasant surprise to get approved on the first try.  I'm pretty sure it's usually not so "easy."

Today is the third day since it's been up. I'm grateful to friends, colleagues and acquaintances who have been playing with TapAMap.  Their response has been very gratifying.  I'm especially happy when I hear what people are finding:  

"What a great app. I'm excited to use it on my travels."

"Just downloaded TapAMap. Is awesome, it will be nice on our travels to find interesting places and facts where we are traveling."

"This app could become addictive. I've already gone to Gresham, OR, Hana, Maui, HI and Phantom Ranch in the Grand Canyon to check it out."

"I've been busy looking at the Wikipedia articles for my neighborhood. Since I live in D.C., there are many surprising articles. It's excellent!"

"My daughter played with it for nearly twenty minutes before she handed my iPhone back to me and whispered, 'This is genius.'"

The story of how TapAMap came to be

I had the idea for creating a map-based way of accessing information in February 2012 after losing my teaching job.  I've always loved maps, and have found that I remember things better when they're tied to a location. My initial idea was to create clickable maps that would teach you things you didn't know about the people, culture and history of an interesting place.

My wife encouraged me to learn iOS programming so I could create my idea as an iPhone app.  I signed up for a one-week "boot camp" at Big Nerd Ranch in Georgia, and rushed to complete their prerequisite book on Objective-C, the language in which Apple devices are programmed.

With no prior programming experience, the boot camp was like drinking from a fire hose. It was all I could do to keep up, but the instructors were encouraging.  One said the best way to progress was to try to create my own app.  I wasn't actually sure it was possible to do what I was thinking, but when I told him he assured me it could be done and gave me same suggestions of how to begin.

At Big Nerd Ranch, we coded from 8 am till 8 pm for seven days.

At Big Nerd Ranch, we coded from 8 am till 8 pm for seven days.

I began coding TapAMap in September, building on map exercises from Big Nerd Ranch and combining that with web-based functions.  I was delighted to discover GeoNames, a service that provides Wikipedia articles if you send them a location, though it was a challenge for me to learn how to make the information that came back useful. I received lots of generous support from iOS programmers I've met through the collaborative Meetup scene in Los Angeles, as well as from online programming forums and Apple's developer documentation.

Every other Thursday iOS developers meet to share ideas. They are such wonderful folks.

Every other Thursday iOS developers meet to share ideas. They are such wonderful folks.

I'd especially like to thank Mario Sepulveda, a gifted iOS mentor who spent hours with me, and Joe Kim, who solved one problem with two quick lines of code.

Coding was not easy, but TapAMap was functioning the way I wanted by the end of November. I've learned a lot, and hope that others will see that if I could do it, they can too.