
July 15, 2010. During the morning tea, the entire team of our office enthusiastically viewed the interactive book “Alice in Wonderland” by Atomic Antelope on the iPad.
The idea of creating such an application inspired us so much that the next day my colleague and I sat down together and roughly imagined what we would need to implement the plan:
- children's writer;
- painter;
- programmer;
- translators (we immediately decided to do the English and Spanish versions of our book).
')
We already had a technical base at work and at home - Apple equipment was available.
We must immediately say that by the nature of the activities for the development of applications, we did not have the slightest relation, so the whole process of creating the book was extremely vague.
Now, a year later, when we are already working on new books, we immediately add the following items to the list:
- many, many patience;
- a lot of free time (because during working hours you need to work on the main job);
- a clear understanding of the book for children of what age.
Awareness of such things comes only with experience, and then two naive enthusiasts were filled with bright optimism and the desire to make a beautiful and interesting thing.
We figured out the first two positions of the list quite easily - Catherine Okovita, a children's writer, was our good friend. She has already published several of her successful children's books, which she herself illustrated. She really liked our idea and she began to work on text and pictures. We entrusted the entire literary part of the work to her. Sometimes they just got together and discussed some controversial points.

There were three naive but hard-working enthusiasts.
Now it is clear that at this stage we, too, were a little wrong - it was not worth all the creative moments to leave to one person, since the collective mind can find more interesting and optimal solutions (especially for animation and interactive). Drafts, of course, better to do everything together. And more fun and productive. And already when the sketches of the text and sketches of illustrations are ready and the animation is thought out in some way, then everyone can perfect their part of the work.
The programmer was more difficult. We had familiar programmers, but all of them were completely unfamiliar with iOS and generally didn’t imagine the class of devices for which development was planned. But we still decided to search among friends and those who would be ready for some fee to help us.
In parallel with the search for a programmer, we searched among acquaintances and translators, as it was originally planned to translate the book into English and Spanish. The main difficulty of translation was that children's literature imposes certain requirements on translation - it should not have been a dry tracing paper from Russian, and should be adapted for children of those countries for which it is intended.
The end of the project is scheduled for December - in time for the New Year. The naivety of the three enthusiasts knew no bounds.
Concept development
The style of illustrations was determined almost immediately - we planned about 35 pages, of which only 7-10 were supposed to be animated, the rest should be just text with static illustrations. We also decided to add a few simple mini-games to make children more fun to read. For this book, we gave preference to the vertical orientation of the pages (so the e-book was more similar to the classic paper ones), and the animation was decided not to be very complicated so that you could swing, move, throw any objects that we are talking about on a specific page.

Then it seemed to us that there should be no big difficulties with this. Take out a static picture with a background and text, and another object that will respond to pressing - nothing complicated; yes the procedure for turning the pages write. And that's all - then repeat this code 35 times, and the book is ready.
From several draft sketches of pages in pdf-format, a technical task was collected, according to which a programmer could compile a book.
In parallel with the search for the right people, we decided to master objective-c ourselves, just to have a general idea of how programs are written for iOS devices. They pumped themselves a whole library of textbooks on objective-c and began to collect simple examples of the hello world type themselves. Yes Yes! Do not laugh! Eleven years ago, apart from delphi and the turbopascal, I did not have anything at the university, and I had no idea about Sishny languages. Code samples were searched, of course, through search engines. The main discovery came by the keywords “page turn transition iOS objective-c”. Google brought me to the page of the forum cocos2d - add-on Xcode, which greatly facilitated life when working with graphics and animation of sprites.
We will not open America now, but cocos2d just saved us! It was found that for him there are a huge number of examples and video tutorials in which he explained on his fingers how to write with him all sorts of interesting trivia. So, Alice, who inspired us, was also assembled on cocos2d, however, using a physics engine called chipmunk.
Before I left for vacation, we bought an annual account.
developer and felt like real iOS developers. It was September. We really did not even begin development.
The first problems and their solutions
The search for programmers was increasingly disappointing. It is clear that we could not pay big money to professionals, and friends somehow did not burn with enthusiasm to master new directions of programming. One friend nevertheless agreed to help us for a modest reward, but since working with him was rarely possible, progress was very slow.
One evening, after returning home from a programmer, I decided that if I didn’t force events myself, then the matter would drag on indefinitely. I opened the site with cocos2d manuals and began to consistently take lessons for the most beginners. Just in steps - lesson1-lesson2-lesson3 ...
That evening I learned how to load sprites and scroll pages. Since we already had draft pages, the next morning we had a prototype of a three-page booklet, which consisted of a background with text and a sprite that moved, although it did not react to pressing or accelerometer. But for us it was a real breakthrough. It happened in the middle of autumn. Around October. Yes, at the beginning of work we terribly skidded.
Gradually, Catherine collected a draft layout of the entire book.

We added a few more pages to the original project with illustrations for the entire spread, and now we could assemble a complete prototype of the application. And then just replace the pages with rough drafts and make animations on them. The complete prototype of the book was ready in November. By this time, the work process had already been adjusted and had the following appearance: about once a week we received a new illustration from Katya, with the efforts of the collective mind came up with an animation for her, then, while drawing the next picture, we realized everything that had been planned.
We cut the finished illustration into separate sprites, typed in Xcode, tormenting the Internet in search of answers to the intricate questions that arose when programming new pages. If there were no answers, I turned to a familiar programmer, and together we thought what could be done.
In search of solutions for programming animation, wonderful sites were found with excellent lessons for the very beginners. Almost "Textbook for the first class, the second quarter. For younger programmer age. If anyone is interested, I will give links. Also, a couple of e-books on cocos2d were purchased. And almost every evening I hung out on the forums looking for answers to my questions.
At this stage, the work was more or less adjusted and we began to do approximately one page a week. Not very quickly, but not entirely bad for people who just six months ago had no idea at all about programming and interactive books, and even during working hours they were engaged in a completely different field.
Appetite comes with eating
Programming became so interesting (and there was quite a lot of time between receiving new illustrations) that we gradually began to add animation to all pages, moving away from the original idea. Quite often, this led to the fact that some of the objects had to be completely redrawn or redrawn, which in turn increased the time spent working on the book. But we could not stop.
What we couldn’t realize either technically (due to lack of knowledge of objective-c), or due to the lack of free time, we wrote down in the wish-list to implement these ideas in updates or in the following books. Now, about once a month, we release updates for the book, improving and complicating the animation.
I really wanted to add a beautiful and interesting animation based on physics engines. I tried to study the shipmunk engine, but it turned out to be sish, and studying C in parallel with objective-s was already beyond my powers. At some point, the situation was saved by a lesson in space manager - a superstructure over cocos2d, which allows you to write chipmunk chips for objective-c. We could implement some simple things in a similar way. But we did not abandon the idea of cooperation with a professional programmer. Difficult things to do on their own is absolutely irrational. The professional will cope with such tasks much faster and more correctly. And now, working on new books, we continue to look for a programmer in our team.
Scary bug

During the development process, a terrible bug showed up in the program, from
which we could not get rid of. After turning about 10-15 pages, the application crashed. There were some problems with memory overflow, and we could not understand what was the matter. There was not enough development experience for iOS.
The deadline was moved first to mid-February, then to March ... As a result, taking into account our own vacations and other matters, after a couple of high-quality collective hysterics, we set the final release date to April 15th.
Rescue came unexpectedly and suddenly
Once on Habré we, for a long time not naive enthusiasts, found the announcement of the ADCSpb conference for iOS developers in St. Petersburg. Among the declared reports was a report about writing games in cocos2d. Naturally, we simply could not miss such an event. We needed to somehow solve the problem of our bug with the departure of the book.
The conference was just a salvation for us - we met with Stanislav Krasnoyarov, a speaker on the topic that interested us. And he agreed to help us! About a week later we met in a cafe, and in a couple of hours he found a solution to our problem. It's so great when there are people willing to share their experiences!
From this moment we began to attend all St. Petersburg conferences.
iOS developers. Due to some experience, we do not always understand the topics of some reports, but at each conference we find something necessary and interesting for ourselves.
The release is coming ... and coming ...
Since the end of February, we began to give a test book to friends and acquaintances in order to determine how our ideas about the book correspond to the impressions of objective and sane people.
It turned out that most people unfamiliar with the iPad and the capabilities of the platform think pretty monotonously, and therefore part of the interactive animation just skips. I had to add hints or even modify the original animation on some pages.
The flow of ideas from betatesters, amended on the interface and animation, which was born in the morning tea, was kept on improvised means suitable for recording:

Usually, after each such test, at least 10-15 corrections appeared. In a few days I corrected the book. Then we again found a pliable sacrifice and, after new tests, 10-15 corrections appeared again. It began to seem to us that this groundhog day would last forever. But by mid-March, the number of amendments began to gradually decline and the book took on an almost ready look.
Oh! We forgot about dubbing!
Another important element of the interactive book, which I have not touched yet, is the voice acting! Book requires ringtones for menus and
some pages, voicing characters, rustling pages turned over ... What should I do? A composer would have cost us extremely expensive, and we had to somehow solve the next problem that arose. We sighed doom, rolled up our sleeves and began to work.
As it turned out, the native Apple software completely allows you to make the soundtrack of the application almost on your knees. Of course, we understand that what we recorded is far from the work of a professional composer, but at the time we had no other way out.
I recorded some of the sounds at the programming stage myself on the microphone built into my MacBook Pro. After some refinement in SoundtrackPro, they sounded pretty good, and we decided that if we recorded all the audio effects we needed in a well-soundproofed room, then we would cope with the voice acting ourselves.
By agreeing with friends who have their own little
a recording studio, on one of March Saturdays, we gathered in a close stuffy room and began to chant out inhuman sounds in a chorus.
As it turned out, many items do not sound like we usually hear them in movies or games. For example, the ringing of keys is extremely difficult to record using real keys. They just don't sound right! The dream factory has completely ruined the hearing of ordinary viewers. The same goes for the sounds of slamming doors, the stamping of feet and sinister screams.
Something then had to be refined in a sound editor, and something to write, distorting the sound right on the fly. For example, laughter coming from
TV, we wrote from a mobile phone. They called my friend, whose voice was very suitable for this purpose, and she laughed at us on the phone. We collected melodies for the menu and some pages in a wonderful Makov program from Garage Band. Something even wrote in the version of the Garage Band for the iPad, from which we absolutely love it! Of course, in the future we are going to turn to professional composers, but at this stage we coped well. Seems not bad.
And here is the release!
So ... April 2011. We completed work on the Russian version of the booklet and on the 23rd sent it to the release in the App Store. The sending process took us ... more than six hours! There were a lot of minor problems that had to be solved in various forums for a long time. Late in the evening, finally, we were able to send the app to Apple.

About a week later we received an answer, or rather a refusal, because our application did not meet the high standards of the Apple Human Interface Guidelines ... However, for not the most terrible reason - I turned off the screen orientation change depending on the position of the device (in many other books By the way, this is also done). I did not want to argue with Apple, but I wanted to see my book in the App Store as soon as possible. So I returned the orientation change, and we sent the app a second time. Waiting lasted about a week. Painfully long ... And finally, on May 10, we were in the App Store! A few days later they sent the English version, which was approved on May 19.
The release happened, what's next?
From this point on, we started the next quest called "Promotion of the application." But I will tell about it sometime next time.
Summarizing the above, I want to note that if each of us tried to collect something like this alone, then with a probability of 99% the project would not have been able to complete it. Someone in the process of working dropped their hands from the fact that something did not work, someone was horrified by the increasing volume of unexpected work, sometimes it was just too lazy to do something and it was required that someone pushed to work or just encouraged. Teamwork made it easy to overcome all these difficulties and problems. And the presence of different points of view on one or another element of the book has always helped to find the optimal solution or to avoid mistakes that were not visible to each of us individually.
The fact that we, having no experience in developing applications, were able to start and, most importantly, complete the project, is already a great achievement for us. And positive customer feedback is the best reward. And why did we write this article? To ensure that people who have ideas are not afraid to take on their implementation, being intimidated by possible difficulties. The idea, realized by own hands, gives a great moral satisfaction and adds a little confidence in its own capabilities. May the force be with us (and with you)!