I've been working on GoFest, a start-up I created, for the last 4 months and it's been a really interesting ride. I'm close to an iOS app store release and I have my first potential customer. I realized I'd been blogging about the technical side of what I was doing.. but not on the experience itself. I wanted to remedy that! I think I'll keep trying to blog, but for starters, I want to give a little overview of how things have gone so far.

It all started when I left my job (of 6+ years) in software consulting last October. I did this for a couple of reasons.
  1. I was unhappy with the current state of things in my work life. I felt like things were in a rut and I wasn't growing. On top of that, there was a lot of conflict and aggression occurring in the project I was on that I was eager move beyond.
  2. I had a growing urge to start something on my own. I'd been exposed to the start-up world expanding around me and was getting more and more excited by it. I had a mobile app idea that I knew I could build, if I had the time.
  3. I felt starting a company would be a great opportunity for the growth and learning that I was craving.

So, off I went! I knew I would make a lot of mistakes, but I was hoping to make them quickly and learn quickly. I left my job and dove into learning how to start a company.

Here's a quick overview of the activities I busied myself with.

Reading
  • I knew I had a lot to learn, so I picked up 2 books that were recommendations from friends and collegues: The Lean Start-up by Eric Reis and The Personal MBA by Josh Kaufman. I've since read them both and they are invaluable! I'd highly recommend them to everyone working in the business world.
Market Research (This is where I started.)
  • I looked around for apps even remotely related to my idea. I compiled of list of those I felt would be competitors or those that should just be watched for future direction. I allowed this to influence my idea because it's likely better to create a product with as little competition as possible.
  • I explored the Twitter and Facebook world around the topic my app would relate to. People on these networks would probably be the easiest to reach later when I wanted to do user research.
  • I tried to define who my customer would be and what they were interested in/willing to pay for.
Business Model/Plan
  • This obviously has to make me money. How was it going to do this? When was it likely that this would first happen?
Define MVP (minimum viable product)
  • What was the minimum feature set I needed to get this to the market?
Building
  • I started building the product. It was a lot of fun! I hadn't done any iOS development before, so I had a lot to learn.. but it's fun learning a new language and framework. And you get all those little wins each time you make something work.
Outside Help
  • One of my weaknesses was that I didn't have a solid co-founder. I had an ex-colleague offering business type advise and I had a friend here or there helping with with UX (user experience) or design. 
  • Tandem Incubator - In early December I was almost 2 months into this whole thing and I decided to look into incubators. I'd heard of these, but had earlier felt that I needed to get a little further with my project before applying. I decided that now was the time and dove into the application process.
    • I worked very hard for about 2 weeks getting things ready for the application. Deploying the app's website, generating screenshots and even a presentation. In the end, I didn't get accepted. But, going through the application ended up being a really beneficial thing. I refined my business plan, answered some hard questions about timelines and really worked out what the 'Pitch' for this app would focus on.
Where I am I now?
  • My iOS is app is nearing completion (I hope to deploy it in the app store in the next 6 weeks)
  • I have my first customer (my app is sort of based on customer subscriptions in a way)
  • I'm running out of money. :-)
  • While revenue could start coming in soon, I'm realizing that it won't start pouring in any time in the near future.

So, I'm undecided on what to do! I'm still lacking the co-founder. I've been attending networking events with different entrepreneurial circles here in NYC. I'm seeking the cofounder at these, but I'm also seeking community and potential role models. This process has been really awesome actually! It's great to meet so many people doing amazing things. 

One thing that afflicts the developer entrepreneur is the knowing of the current state of the job market. There are lots of jobs out there for an experienced engineer. Exciting, well paying jobs! The lure of this is in the back of my head every time I think about my checking account balance.

I think blogging about this is good for me to figure out what's next. Maybe I'll get accepted to an incubator! Who knows? Maybe I do take a job with a start-up and learn in a more mature, but related environment.  For now, I'm going to keep plugging at it for a while more.

Sometime I feel like the relationship I have with Apple is quite similar to that one would have with a bipolar boyfriend or girlfriend. The good times are really good... and the bad times are REALLY bad. But you just stay because you can't imagine life without them. :-) They brought us smart phones, mac books and iPods. You can't give those up! And they obviously brought us mobile apps easily distributed though an app store. This is great!

But it's well known that it's a pain the ass releasing your app through their long and tedious process. Provisioning used to be a nightmare! It also used to be hard to get your app to beta testers because you needed their phone's UDID and then you would have to produce a different build for each UDID. PAIN!

Test Flight was the earliest tool out there for managing your builds and distributing them to stakeholders, testers, etc.. I was even talking to Jeff Soto from the iOS Brooklyn Meetup and his team at Tendigi are building a tool to integrate Test Flight with their QA process. Very cool!

I've actually just started using AirOnApp because they go one step further and remove the need for collecting each of the UDIDs from every device that you'll distribute to during testing. They resign the app automagically for the each device. :-)

I'm planning on releasing my app in the next month and will use their automated release process as well. Hoping that goes as well as beta testing distribution!

Quick Reference for Git Aliasing and Ignoring

Aliasing:


$ cd ~
$ vim .gitconfig

Add the following (and any additional shortcuts you want):


[alias]
ci = commit
st = status
co = checkout
lc = log ORIG_HEAD.. --stat --no-merges

Ignoring

(This is mine for a rubymine project)


I had to dig a little to bring all the components together necessary for something like this so I thought it best to document it.

For the request you need: 

1. Create an NSMutableRequest
2. Create an NSURLConnection with the above request
3. Set the class encapsulating this behavior as the delegate to the connection
4. Implement the call back methods the connection makes based on the result it gets (so you can decide what to do)

<script src="https://gist.github.com/4161726.js?file=AppDelegate.m"></script>

<script src="https://gist.github.com/4161735.js?file=AppDelegate.m"></script>

Add the plist item 'FacebookAppID'

Add the entry to URL types.

Knock this into a delegate method.

<script src="https://gist.github.com/4161746.js?file=gistfile1.txt"></script>

<script src="https://gist.github.com/4161750.js?file=gistfile1.m"></script>