Wednesday, August 25, 2010

I'm evaluating a multi-media course on blogging from the folks at Simpleology. For a while, they're letting you snag it for free if you post about it on your blog.

It covers:

  • The best blogging techniques.
  • How to get traffic to your blog.
  • How to turn your blog into money.

I'll let you know what I think once I've had a chance to check it out. Meanwhile, go grab yours while it's still free.

a little diversion from iPhone apps...

OK, I don't usually go off into "where'd this come from" land, but in this case, I'm going to make an exception. I've been looking at ways to become more productive, and have found thus guy, Mark Joyner, who happens to be an internet marketing genius. He's also an award winning author, with books in marketing and productivity. Where was I going with this... Oh yeah, I remember now :)
So anyway, this Mark Joyner guy has a website (and book) called "Simpleology - The simple science of getting what you want." I've been reading the book, pretty easy read, and full of things you'll wonder why you didn't think of it yourself. His site has a bunch of courses, dealing with everything from productivity, to building an internet business of your own.
You can find his site at Go check it out, you'll be glad you did.

Thursday, July 22, 2010

New release out, and a good resource...

Ok, first the new release...
A couple nights ago, I released a new version of EZ-Groups. The new version fixes a couple bugs, was iOS4 tested, and has a couple new features. The bugs were nothing the users would notice (or at least I hope note ;)) I just saw a couple issues in crash reports that I cleaned up.
The real changes the users will see, are I've added an index down the side of the All People view, much like the phone as on its address book, and I added the ability to see which groups a person is associated with. This is handy for someone who wants to quickly see that their softball buddy, also bowls with him, or friends who also work with you. The best example of how this can be used, was actually the inspiration to the change. The user uses this app to organize contact information for people in public life, and adds them to groups according to committees and organizations they're a part of. Now, not only can he see that "John Doe is a member of ACME Charity", but he can also see who else he has as a contact, that is also a member of that charity.
More changes are coming soon, along with changes to Bracket Man!

And finally, I found this great forum for iPad resources, check it out!

Friday, April 9, 2010

Another new app!

You have an iPhone. You love your iPhone. How do I know, because I love mine! ;)
it does so many great things, yet even with this incredible device, there is always something lacking. I've just released an app that fills one of those gaps. Introducing, the newest app from, EZ-Groups. EZ-Groups allows you to organize your contacts into groups, right from the phone. If you're like me, you have well over a hundred contacts on your phone. Scrolling through all those contacts can be a pain. Now, you can create contact groups to organize your contacts into smaller, more manageable groups. Need to create a contact list for everyone in the group? No Problem!, with EZ-Groups, you can easily create a new list, in HTML format that can be easily sent to anyone who may need access to that contact list. Great for sports teams, large families, classes, on call lists for work, or anything where someone may need to quickly get a hold of someone on in the list.
You can get EZ-Groups now, on the app store, just $.99

Tuesday, March 9, 2010

Just found one of my apps on a website

As I was looking at my hosting reports, I typically look at where links are coming from. I found an interesting one today, for Bracket Man Pro. This was from Best Buy Mobile, giving BracketManPro some good publicity. What really surprised me, is I'm on the first page of this site, featured!
Check it out here

Thursday, February 11, 2010

Another release!

I don't know what Apple did over Christmas, but it seems like they did something right. Before they took a week off, it was taking an average of one to two weeks to get updates out. However, after Christmas, I've released a few updates, and each one has happened in less than a week. The latest was to the basketball stats app. I've had a few people emailing me asking for the ability to email stats. I'm not going to say it was the hardest thing I've ever done, because it wasn't. In fact, far from it. What I will say, is there are some nasty little bugs in the iPhone OS that prevent PDF files from rendering properly on anything other than an iPhone or a Mac. So, instead of a PDF report like I originally wanted, I converted it to HTML and sent that as an attachment. It works well, and allowed me to put more stats on than I could in PDF format, so I suppose it was a blessing in disguise. Anyway, the new app is ready and available on the app store.

Friday, January 15, 2010

Bug fixes...

Just last night, I submitted a new version of my BasketBall Stats iPhone App to fix a bug. Not a particularly big bug, but one of those that causes the app to not feel very polished. So, what was this bug? Well, turns out, I had fouls and stats mixed up in a few places. Not a big deal, I know, but I did get a few complaints, so I thought rather than ignore my users, I'd take care of the issue.
So, we'll see how long it takes Apple to approve this version. Hopefully not too long ;)

Thursday, January 7, 2010

BracketMan ready for sale!

As I'm sure you know, I have a few iPhone Apps on the App Store. Last week, I released new versions of a few of those apps, and to my surprise, Apple found a bug in two of them (doesn't surprise me that it was two, as they are largely the same code base). The bug was kind of obscure, and gave me a good case to go look for a crash I'd seen in the field. In fact, this bug was the reason I posted about debugging with crash logs a couple days ago. Well, the bug was easy to fix, but I knew I would go on the back of the queue after resubmitting a binary, which I figured meant another 2 week delay in getting the apps out the door. To my Surprise, yesterday, I got an email from Apple saying Bracket Man and Bracket Man Pro was ready for sale! This is exciting news, as just a month ago, it took over 3 weeks to get an iPhone App approved and up for sale on the App Store. I had reason to believe things would get worse after Christmas, as Apple announced they would shut down iTunes Connect for several days (meaning nobody could submit apps) during that time. Apparently, they used that time to catch up, because the times have become much shorter since the new year.
The big new and exciting feature in these two apps right now are shake to shuffle in both apps, and admob ads to support the Bracket Man.

Tuesday, January 5, 2010

Debugging from crash files

I know this is something no developer ever wants to do, but sometimes it's necessary. You've deployed your iPhone app, and through no fault of your own (we don't code bugs, right? ;) ) some user finds a way to break your app. I mean, who really thought they'd actually click THAT button you put in the middle of the screen and says "CLICK ME!!!!"?
Ok, blame aside, you now have a crash report you need to do something with. Looking at the file, all you see is memory addresses, which, last time I checked, not a lot of developers could take that, and tell you what happened and where it happened. So, what do you do?
Well, fortunately, Apple has given iPhone developers tools to use to map those memory addresses to actual methods and line numbers. The good news is, those tools work really well. the bad news, you need a little more information. The key here lies really in 3 files, that all have to match builds. The first is obvious: the .crash file. The other two, you generated your self, the .app file and a file in the same directory as the .app file, the .dSYM file.
The short version is, the app file is a stripped binary file, meaning all the debugging information has been removed. In iPhone apps, this information lives in the .dSYM file.
To use the .crash file, here's what you're likely going to need to do:
1) Open the .crash file in either console or your favorite text editor (even XCode if you so desire)
2) look for something like "Crashed Thread:" which will tell you which thread caused the problem.
3) in the trace for that thread, which will start with something like "Thread 0 Crashed:" you'll see a bunch of libraries and memory addresses. Look for something from your app. You may see things like libobjc.A.dylib or libstdc++..., Foundation, CoreFoundation, UIKit... In that same area, you'll see something with your apps name.
4) Take, probably the highest, row in the list with your app name, and copy the address, which will start 0x... like 0x00004d42 for example. You'll need this later.
5) In a terminal window, navigate to the directory in which the .app and .dSYM file live. I copy these off to a directory I use for deployed apps, in my case, /Users//Development/distToAppStore//
6) Start gdb with your app. If your apps name is, you'd start gdb (from the directory in your terminal like: "gdb"
7) now, you have gdb running, type "info line *0x00004d42" where the address is the address you pasted earlier. You'll see something that resembles the line, file and method that crashed, such as
Line 213 of "" starts at address 0x42ca <-[ ]+390> and ends at 0x42d0 <-[ ]+396>

Now you have a great starting point to to find out what happened and fix your app, making your iPhone apps more stable!

Sunday, January 3, 2010

Updated website, finally

It's been needed for a while now, but I finally got around to updating my website. Funny thing about websites, they don't seem to take the priority they deserve, since we're usually about doing things to make money. However, what we often fail to remember, is we use the web to drive sales. In my case, I use sites to drive people to buy my iPhone apps. I've had little success with this, but that's probably because my sites were, well, horrible ;)
So, after lots of time researching tools, I picked one that I think will do the job quite well, one called RapidWeaver, which I bought from, and saved $30 over The new sites look great, and now have a uniform look and feel throughout the entire site.
So, here's the sites and products they promote:
The first iPhone App is for the iPhone Bracket Manager, a tool I created almost by accident. The funny thing is, I never intended it to have more than about 10 downloads, so I used it to learn Objective-C; basically just hacked together an app, and put it on the store for free. I built it because one of the guys I bowl with was doing brackets by hand, and using playing cards to create pairings for those brackets. As you can imagine, using 8 playing cards (A - 8) to determine a random shuffling of numbers 1 - 8 can be complicated, and as a result, we often had the same people bowling against each other in different brackets. So, I started out to build just a number randomization to do the shuffle, and ended up making a bracket manager. I had over 300 downloads the first week, and about 600 the first month. To date, I've had about 4000 downloads of that first app.
Seeing a potential market, I decided to try to capitalize on the success of the Bracket Manager, but the code wasn't written in a way I could easily extend it. So, I did what any masochistic developer would do. I rewrote it. Completely. Well, not quite completely, but close. I did keep about 15 lines of code. I rewrote it so I could extend it to do other things. The design probably isn't the best yet, but it's good enough, and in development, sometimes good enough is in fact, good enough. The result was a completely redesigned bracket man, and a "Pro" version, the iPhone Bracket Manager Pro. This version took everything I learned while rewriting bracket man, and put it to good use. This time, instead of just a simple single elimination bracket, I also support a double elimination bracket, which was one of the big complaints I've seen in this type of software on phones, lack of double elimination brackets. I figured, as a new iPhone developer, but very experienced developer, it shouldn't be too hard. It wasn't, but the learning curve on more Objective-C did extend my time line a little more than I wanted. The first app took about 6 weeks to get out from scratch. The redesign and pro version, took all of about a month to do both of them, and get them out the door.
The next one, I decided to take on the exciting world of Basketball statistics with the iPhone Basketball Stats Manager. This one, as I've written about before, was a lot bigger than I anticipated, and after a few months of hard work, I finally got it out the door. Sales haven't been stellar by any stretch of the imagination, but they've been OK, about 60 copies in the first month. Not what I'd say is write home about good, but better than I'd expected. I have a couple of updates to get out on this one, one of which is ready and should be submitted to the app store this week. The other will be ready in a few weeks. This should keep it on the "Just Released" section of the app store just a little longer and hopefully increase sales.
That brings us up to date on what's happening in my world, I'll have more posts coming in the next few days with more exciting news from my iPhone development world!

Saturday, January 2, 2010

iPhone Apps Sold Well Last Month

Ok, I don't have official results from Apple yet, but last month my iPhone Apps did pretty well. I sold over 50 of the Bracket Manager, and about the same for Basketball Stats. I know, I didn't exactly get rich, but hey, it took me 3 months to make about $90, and last month alone was over $130, which puts me over the top for a check from Apple!
Now, I'm thinking of doing some rebranding of the Bracket Manager to see if I can get it into some niche markets. I've also added ads to the free version. So, here's the plan:
  • Ad supported free version Bracket Man
  • Non ad supported paid version of the Bracket Man (not yet created)
  • Non ad supported version of the Bracket Man Pro
Why So many versions? Well, that's really not that many versions. When you think about it, That's just two apps, one with a lite and paid version, the other with more functionality. Hopefully we can monetize them and start really making some money now!
Have a great new year!