How to get into the App Store. Or history of random approve


Hi Habr,

On the website a lot of articles telling about how to successfully pass moderation from the Apple Review Team. This article is not about that. It's more about how we accidentally got approval, not really wanting this.
What it led to and what happened — read on.



The idea to write apps for iOS and Android has been in my head for a long time, so long ago that even became an obsession. Having infected the enthusiasm of his friends, we have to choose from lots of options that should have been our first app.
The meaning kind of selection was simple — pull up skills in programming for mobile platform to build future mega applications. Unfortunately, it is true that development was not meant to be.

We jumped, as it were, to think. Being idealists by nature, we are very carefully treated to the selection of ideas. To waste time on a clone or useless tool, he definitely did not. The ideal option was the gaming industry, but God cheated a sound designer in the team, and the creation, even a simple Indi game would be for us a matter of a few years. Therefore, on the next “peopoe”, it was decided to make a game, but for people who do not want to mindlessly kill time, finger on the screen starting the next bird or cutting the banana into pieces.

What we came up with, fairly you ask? And nothing really original-it's brilliant. Can even say that the idea was simple and familiar to the outrageous. We decided to do the online quiz, questions with smart, dynamic chat, and good old bot-master. I think many of you remember IRC quiz, in which play to this day.

The secret app, in my opinion, is to believe in your idea and to devote himself and all his spare time for the benefit of future offspring. Out of all the components, we had a deficit only in time. With the tight schedule of the main work, and we all took a weekly day off, and enthusiastically programmed in one of the libraries nearest University.

After about a month we was ready to chat and the first engine quiz. Designer, like I said we didn't have, so all I had to do with his hands. The Spartan look of the app is not scared, the main thing for us was the working code and playability.
First horror


Undoubtedly, it is worth to mention and tell about a technical component. I am sure that many will be interested.
At that time we knew Java. Unfortunately, to write applications for iPhone in Java, a thankless task. In addition, we wanted our app was multi-platform.
Therefore we started searching for a suitable framework.

During the discussion, we made a strategic and after a while is the right decision to write a game using HTML5 & javascript.
Work framworks became Titanium, but the game we were taught how to communicate with the system functions of each platform through colbecki(callbacks)
for example, the purchase of virtual goods through the mechanisms of the App Store, Google play, Facebook(credits).

The client code was written in GWT. iPhone and Android to communicate with the server through the strings via web sockets. In regular browsers if there is no support for web sockets, the communication is through flash sockets.
A few words about the server. It is a popular java web server Netty bolted to the Amazon. For the database we used MongoDB.
Before and after. GWT in action.


Well, enough of technical details, I can't wait to tell you what happened next :)
So, finish the first tolerable version of the app, where it worked for all functions(not without bugs and small stocks, of course). We decided to fill in the application on epplovskoy moderation in order to find the correct direction we are moving. It was interesting to understand at an early stage, for some reason, the application will be rejected. As it turned out it was kind of a mistake, because after 6 days the app status has changed first to “In Review”, then to “Processing for App Store”. The final chord was an email with the subject “Your app status is “Ready for Sale”.
It is now my understanding that it was necessary to err, and to put publication date “Release after approve” But in hindsight we are all smarter, right?

I was trying to figure out what to do next.
The choice fell on the simplest option to do nothing. We decided to finished the already existing game, adding all that is wanted to see in the final version, and that'll be that.

And that's how it was:
After 2 days, without any advertising our app was downloaded by about 200 people, and together began to play. This turn of events, we are, indeed, stunned. On the one hand the application is now available with all the flaws and bugs, and it's embarrassing. On the other, it gave us confidence in approving the realization that we are moving in the right direction.
I would like to Express my gratitude and apologize to all those who against their will become our beta tester. You all helped us a lot!

Enthusiasm, in turn, gave us a lot of energy and emotion, we began to devote much more time with our child, where everyone was doing their piece of the puzzle and have integrated it into the overall mechanism. Appending new features, fix existing bugs. Sifted and added thousands of new questions. In short, each had their own part that it is properly performed.

After a few months we've tried new, completely different version of the game, which can already be sent to moderation. The updates were truly global. We changed the model, diluting the gameplay with new features and capabilities.
Introduced in-game currency, thus monetizirovat all of the new chips. Added authorization via facebook, screw twitter.

A good test, we poured a new version of the game and have to wait for a positive response. By reason thereof, we are not particularly worried, remembering perfectly the first attempt. About a week later, the new application was rejected. Intervened Murphy. Rather his law. Night check the server froze and the game didn't run. What moderator phlegmatic wrote in an official response.

Remembering my mother's mother media parabolic limbs in the face of the encoder server side, we again filled up the application and began to wait humbly.
A week later we received a new waiver. And then it was not myself.

The moderator is not satisfied with the appearance of the interface. I mean, he's not answering appleskin standards for all known guide. I understand the part that this is a matter of taste. One moderator thought the design of the application is sufficient. The other found it did not meet the standards. The idea was to try his luck as a new attempt, hoping to hit the “aesthete”, but I decided to send in addition a small letter.

In the letter I talked about a small but close-knit community of the game and how everyone is waiting for the update that will solve existing bugs.
This was partly true, but of course, I still exaggerated. Besides, I'm told that after the first approve anything significant in the design is not changed and see no reason for denying the already approved design.

Stretched another week long wait. We got another refusal. This time they are motivated by his inability to place apps in the App Store, which is essentially a “web app”.

To say I was pissed is to say nothing. The answer was rather similar to the correct message in the native Russian direction. After some discussion, we dashed off another letter with a detailed explanation of the used technologies and mechanisms. And felts so eloquent a letter had good felts we are again at the first post, but the update was finally approved.
How it looks right now


He forced break and we've even benefited. During this time, was finally finished version of Android and Facebook. And if you will have interest, I can tell what surprises and pitfalls we met there.
The Saga with a random approval our first app is finished. Really it is the beginning of something new. But how would say a classic — it's another story :)

PS Who are interested the name of the app, I think he'll find it in the text ;)
Article based on information from habrahabr.ru

Популярные сообщения из этого блога

Approval of WSUS updates: import, export, copy

The Hilbert curve vs. Z-order

Configuring a C++ project in Eclipse for example SFML application