Tuesday, October 8, 2013

Feedback from Geocachers

Its been exciting for Monster Cache the last few days, after we sent emails to lots of geocachers.  We've had about 86 sign ups so far, and 25 of those have found a monster so far.  That's about 30%, which is about average, maybe a bit more.  So 136 on the Legends board now.

One critical thing an iOS user found right away was in the Store.  Since our in-app product of "Unlimited Nets" was rejected in iOS, I had just added more and bigger coin options.  I didn't realize that made the list so long that it scrolled off of the bottom of the screen on iPhones.  So the "CLOSE" button was not visible, so if you decided not to buy coins, you couldn't close that window or go to another tab, so you were stuck and had to exit the app.  Ideally, I would like to keep all the coin options and have that window scroll, but that means a new app version.  So for now I just disabled some purchase options.  Turns out there was the same issue on Android for my small phone, so I did the same thing on Android.

I also noticed that referral emails were coming from my kcwebprogrammers.com address, which wasn't good.  Google wasn't letting me authenticate with lanitek.com, and monstercache.com was still forwarding from GoDaddy.  So I had to set up a new email address on GoDaddy and do SMTP through them.  Worked fine, just took a while to figure out what was going on.

For the email fix, and to add an answer about binoculars to the FAQ, I had to do a web release.  Naturally, Windows Azure decided my release credentials had expired or something.  I'm really not sure why it stopped, or what credentials I had before.  But luckily I figured out how to create a certificate and found a good comment about where to upload it, so I got past it.

Last interesting thing (for now) was I got two nearly identical emails from two different people that were disappointed that they couldn't play forever for free.  Here is one, and the response I sent to both:

"This is going to be a very short lived game if the ONLY way to earn coins without spending real money is referring friends. What happens if your friends don't want to play or or you run out of friends to get signed up? The game HAS to be self sustaining. People will quit playing if they have to spend real money."

My Response:
"Hello,

Thank you for your feedback on Monster Cache.  Almost all phone applications try to generate revenue in some way -- either by advertising, or an up-front purchase price, or in-application purchasing.  For Monster Cache, we have chosen in-application purchasing.  We want people to evaluate the game for free, and hope that they will enjoy it enough to purchase more coins, or refer friends. If you feel that you did not have enough time to evaluate the game, then we are happy to give you some more coins so that you can play a while longer.  We have added another 100 coins to your account.  Also, if you reach Level 4, then there are some Treasure Chests with small amounts of coins that you can find as well.

Again, we appreciate the feedback.  Best of luck in your monster hunting!
Monster Cache Team"

Tuesday, October 1, 2013

Emails to Geocachers

After I got back from my fishing trip on September 8th and we wanted to send emails to geocachers that weekend of the 13th.  Somehow, we didn't get around to it, but we did try one new promotion that weekend.  We put up a poster at Kansas Coffee Company in Olathe that had a picture of a Cyclops Bunny and said "There is a Cyclops Bunny here", with a short description of the game and some QR codes for download links.  Very nice of our friends there to put the poster up.  It has its own referral code, but I haven't seen anyone sign up with it yet.

Anyway, we thought about sending the emails on the Sunday of the next weekend, the 22nd, but realized we'd rather send them out on a Thursday so that people might use right away on the weekend without forgetting about it.  So finally, we started sending out emails on the 26th.  Kathleen had a list of 230 or so emails she got from web sites.  We sent them in batches of about 30 at a time and sent all 230!

Soon, we got rejection notices from Google saying that all of the email but one had been rejected as potential junk mail, i.e. spam.  I guess technically you could say they were spam, in that they were unsolicited emails trying to promote something to a large number of people we don't know.  But on the other hand, they were very specifically targeted to people who put their emails online because they weer interested in geocaching.  We do think they'll like it and they can try it for free to decide for themselves, so we don't feel too bad about sending the emails.

Since only 30 got out that first night, Kathleen tried sending more the next day and only got another 10 or so out before getting the message again.  And then maybe 10 more the next day.  That resulted in about 8 sign-ups, and 2 more people on the leader board, consistent with our ratio of about 75% of signups never finding a monster.  And interestingly, one Like of Monster Cache on Facebook, so that was nice.  But still not quite yet the impact we were hoping for.

There were 111 on the Legends board last week, and 113 now after the first 50 emails.

Friday, August 30, 2013

Monster Cache 1.2 released on iOS

Good news, version 1.2 of Monster Cache was approved last night by Apple!  One wrinkle.... they wouldn't let me do the Unlimited Nets option without some modifications.  Coins are "consumable" In App Purchases, but an unlimited option would be "non-consumable", which requires a "Restore" button in the app.  Instead, I just made bigger coin options for iOS - 2500 and 5000.  It actually might be an interesting test to see how many people use those options compared to Unlimited Nets on Android.

I'm headed out of town all next week for fishing trip with Kathleen's brothers.  I told her to wait to start her geocaching club promotions until I get back, just in case any bugs were found.  So hopefully the numbers will start going up again in a couple weeks!

Current number of users on Legends board is 105.

Friday, August 23, 2013

Your app status is Rejected

Apple's developer portal finally let me accept the agreements it wanted me to accept, and I was able to submit the new version of Monster Cache about 6 days ago.  This morning in finally went in to review.  And in the same day, I got a notice that it was rejected.  Specifically, our new "Unlimited Nets" IAP.  Here was their reason:

We found that the Purchasability Type for one or more of your In App Purchase products was inappropriately set, which is not in compliance with the App Store Review Guidelines.

Unlimited nets +1500 monster coins is set to consumable.

However, based on product functionality, it would be more appropriate to use the Non-Consumable In App Purchase type. Non-consumable products are only purchased once by users and are always available on all devices that are associated with that user's iTunes account. 

For more information about Purchasability Type, please to refer to the iTunes Connect Developer Guide.

The Purchasability type cannot be changed once an In App Purchase product has been created. Therefore, you will need to create a new In App Purchase product with the correct Purchasability Type. To create a new In App Purchase in iTunes Connect, go to Manage Your In App Purchases, select your app, and click "Create New". The current product will show in iTunes Connect as "Rejected".Note: Apps that offer In-App Purchase products that must be restorable are required to include a "Restore" feature. The following In-App Purchase types must be restorable:

- non-consumable products
- auto-renewing subscriptions
- free subscriptions

For more information, please see the section, Restoring Transactions, in the In-App Purchase Programming Guide
--------------
And my response....
------------
Hello,
I understand your point about the Purchasability Type.  However, our application requires users to create a login account, and all their account information, including In App Purchases, is stored on our server.  Therefore, even if a user had a new device and installed the app on the new device, once they logged in with the same account they used on the old device, all of their purchases would still be remembered on our server and would carry over to the new device.  We actually believe that making this IAP non-consumable could lead to abuse, as one player could log in with their account on another player's device who has purchased the non-consumable IAP, then click "Restore" and have the IAP "restored" from the App store to the second account without paying for it.  I hope that makes sense and that you will allow us to keep this IAP as consumable.

Thank you for your consideration, please let us know.
Eric Barr
------------------------

Just a few minutes later, they came back with:
------------------------
Thank you for your feedback. 

If you wish to appeal your review, you can submit a request to the App Review Board. The App Review Board was created for developers to appeal an app review they have concerns with. Once the App Review Board has completed their evaluation, they will contact you directly with the decision.
-----------
So I decided just to create two more Monster coin packages for iOS.  Instead of the $14.99 Unlimited nets and 1500 Coins, I'll try $14.99 for 2500 Coins, and $17.99 for 5000 Coins.  It may actually turn into a neat comparison test between Android and iOS.

Once the app is approved, then maybe I'll try the appeal.

Sunday, August 11, 2013

All Developer Program Services Are Now Back Online - Not exactly

I got an email yesterday with a big headline that said
"All Developer Program Services Are Now Back Online"
I was excited that I can finally Accept their changed contracts and release our new version on iOS!

Well, turns out I didn't get far.  There are two contracts I'm supposed to accept.  I have to accept one before the other.  Before Apple's email that all services are back, I couldn't renew either.  Now, I was able to renew the first, but all the warnings don't seem to acknowledge that, and it still won't let me accept the second.  I had to email their support today:

"When I log in to my developer account, I see a message that says "Review the iOS Paid Applications Agreement", and also "To accept this agreement, the user with the Team Agent role must have already accepted the iOS Developer Program License Agreement in Member Center.".  I have accepted the new Developer Program License Agreement, but I don't see any option for me to accept a new iOS Paid Applications Agreement in the Contracts, Tax, and Banking module.  All I see are options to Edit Contact info or Banking info, or View tax info.  Please help me get past this so that I can submit a new version of my application.
Thanks,
Eric
"
My wife and I are going to try work-camping tomorrow.  That means we're taking our laptops and getting a camp spot with electrical outlets.  But my Mac is not a laptop, so I guess the earliest I'll get this resolved is when I get back Tuesday.

Thursday, August 8, 2013

Installing / Renewing SSL certificate for Windows Azure


Today I had to do one of my least favorite things in web development: install an SSL certificate.  And even worse than usual, this is my Monster Cache certificate so it needs to go on Windows Azure.  I guess I mainly don't like it because there are a lot of steps and I don't do it often, so its easy to forget the process.  And there are event more steps for Azure.  And often something goes wrong which means I have to call GoDaddy, where I buy my certificates.  Such was the case today.  So I wanted to document all the steps for when I have to do this again in two years.

By the way, big thanks to Avkash Chauhan's Blog for this post that got me through installing an SSL certificate in Windows Azure the first time.  This time I was renewing the certificate so some of the steps were a little different for me, so that's why I'm making another list.
  1. Open IIS 7.  This can be on any machine with IIS7.  I use the IIS7 on my Windows 7 development machine.
  2. Go to the Server Certificates section
  3. WARNING: Here is where my problems were today.  Even if you have an existing certificate and you are renewing it, do not click on your existing certificate and choose "Renew...", at least if you are getting your certificate from GoDaddy.  The CSR that is generated for a renewal is not accepted by GoDaddy.  You'll see that it is about twice as long as a CSR for a new certificate, or as the GoDaddy support person said "Using renew puts a bunch of extra code in there that can't be recognized".  So whether you're renewing or creating a new one, choose "Create Certificate Request".  You'll have to enter your company data.  I always use 2048 bits, I think GoDaddy requires it.  Then save the resulting file as a .csr somewhere.
  4. On GoDaddy (or other CA), purchase your certificate for however many years you want.
  5. When asked to enter your CSR, paste your ENTIRE CSR file contents into the CSR request text box.  Continue through rest of steps until certificate issuance is Pending.
  6. On the "Manage Certificates" tab of the "Secure Certificate Services", download the certificate when its ready by checking the checkbox and clicking Download.  (It only takes a minute or so to go from Pending to Current, just hit Refresh occasionally.) Save .zip file to same folder as your .csr file
  7. Unpack zip file
  8. Go back to IIS7 and click "Complete Certificate Request". It will ask you to browse to the response file.  Select the .crt file that was in the zip file.  Choose whatever you want for a friendly name, but if you're renewing, then make sure that your new friendly name is different from your original.
  9. Now you have a certificate installed on your local IIS.  Right click on it in the certificate list and choose "Export...".  Save it as a .pfx file in the same location as your other files and make up a password for the exported file.
  10. This blog post details how to tell your Azure project about your new certificate and how to upload the certificate to your Azure Developer Portal.  I can't improve on that post, but I will say that:
    • I did NOT follow step 7.  And I did not do the verification in steps 8 and 9 either.
    • After logging into the developer portal, it was hard to find the place to upload the certificate.  I found it by going to "Cloud Services" on the left, then clicking my service name on the right, and then "Certificates" was at the far right of the horizontal navigation that appeared on the introduction page.
  11. Now all you have to do is publish your project!
  12. There's one last step in Avkash's blog about setting up the CNAME records if you haven't done that yet.  He links to this blog for those instructions.
Whew, that's it!  Thank goodness I don't have to do it again for two years. Maybe I should have bought even more years though, two years sounds too soon.

Sunday, August 4, 2013

New iOS version delayed by offline Apple Developer Center

I was hoping to release version 1.2 of Monster Cache for iOS today. I went to Apple's developer Member Center and didn't get far.  They still have some things offline since they were hacked a couple weeks ago.  There were two updated agreements that i'm supposed to review before releasing any new versions, and it seems I can't review them because that part of the site is down.  Big bummer. I sure hope they get it fixed soon.